Python 过滤Queryset并在Django中设计正确的URL.py和模板
我正在设计一个视频渲染儿童网站Python 过滤Queryset并在Django中设计正确的URL.py和模板,python,html,django,models,Python,Html,Django,Models,我正在设计一个视频渲染儿童网站 该应用程序有家长类别,例如:卡通,教育节目等。每个类别有多个帖子,如丛林书,鸭子故事等卡通 每篇文章都有多集 我正在使用通用视图(listview、Detailview)作为视图 这是我的型号。py from django.db import models from personal.models import Post class cartoons_post(models.Model): category= models.ForeignKey(P
- 该应用程序有家长类别,例如:卡通,教育节目等。每个类别有多个帖子,如丛林书,鸭子故事等卡通
- 每篇文章都有多集
- 我正在使用通用视图(listview、Detailview)作为视图
from django.db import models
from personal.models import Post
class cartoons_post(models.Model):
category= models.ForeignKey(Post, on_delete=models.CASCADE)
title = models.CharField(max_length = 140)
thumbnail=models.ImageField()
date=models.DateField()
def __unicode__(self):
return self.title
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse("posts:detail", kwargs={"id": self.id})
class post_episode(models.Model):
post_id= models.ForeignKey(cartoons_post, on_delete=models.CASCADE)
title = models.CharField(max_length = 140)
thumbnail=models.ImageField()
date=models.DateField()
video=models.FileField()
def __unicode__(self):
return self.title
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse("posts:detail", kwargs={"id": self.id})
from django.conf.urls import url, include
from django.views.generic import ListView, DetailView
from cartoons.models import cartoons_post,post_episode
from django.contrib.auth.decorators import login_required
urlpatterns = [
url(r'^$', login_required(ListView.as_view(
queryset=cartoons_post.objects.all().order_by("-date")[:10],
template_name="cartoons/cartoons.html"))),
url(r'^(?P<pk>\d+)$', login_required(ListView.as_view(
queryset=post_episode.objects.filter(post_id=1).order_by("-date"),
template_name="cartoons/post.html"))),
url(r'^(?P<pk>\d+\d+)$',login_required(DetailView.as_view(
model = post_episode,
template_name="cartoons/post_episode.html"))),
]
这是我的url.py
from django.db import models
from personal.models import Post
class cartoons_post(models.Model):
category= models.ForeignKey(Post, on_delete=models.CASCADE)
title = models.CharField(max_length = 140)
thumbnail=models.ImageField()
date=models.DateField()
def __unicode__(self):
return self.title
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse("posts:detail", kwargs={"id": self.id})
class post_episode(models.Model):
post_id= models.ForeignKey(cartoons_post, on_delete=models.CASCADE)
title = models.CharField(max_length = 140)
thumbnail=models.ImageField()
date=models.DateField()
video=models.FileField()
def __unicode__(self):
return self.title
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse("posts:detail", kwargs={"id": self.id})
from django.conf.urls import url, include
from django.views.generic import ListView, DetailView
from cartoons.models import cartoons_post,post_episode
from django.contrib.auth.decorators import login_required
urlpatterns = [
url(r'^$', login_required(ListView.as_view(
queryset=cartoons_post.objects.all().order_by("-date")[:10],
template_name="cartoons/cartoons.html"))),
url(r'^(?P<pk>\d+)$', login_required(ListView.as_view(
queryset=post_episode.objects.filter(post_id=1).order_by("-date"),
template_name="cartoons/post.html"))),
url(r'^(?P<pk>\d+\d+)$',login_required(DetailView.as_view(
model = post_episode,
template_name="cartoons/post_episode.html"))),
]
从django.conf.url导入url,包括
从django.views.generic导入ListView,DetailView
从cartons.models导入卡通
从django.contrib.auth.decorators导入所需的登录名
urlpatterns=[
url(r'^$',需要登录(ListView.as\u视图(
queryset=cartons\u post.objects.all().order\u by(“-date”)[:10],
template_name=“cartoons/cartoons.html”),
url(r'^(?P\d+)$),需要登录(ListView.as\u视图(
queryset=post\u插曲.objects.filter(post\u id=1).order\u by(“-date”),
template_name=“cartoons/post.html”),
url(r'^(?P\d+\d+$),需要登录(DetailView.as\u视图(
模型=后一集,
template_name=“cartons/post_eposion.html”),
]
这是我的三个模板
cartoons.html
{%extends“personal/header.html”%}
{%load staticfiles%}
{%block content%}
{对象列表%中的卡通发布百分比}
{%endfor%}
{%EntBule%} <代码> > P>您应该考虑创建<代码>视图.Py < /C>文件,而不是在URLS.PY中使用泛型视图。我认为问题在于下面这句话
url(r'^(?P<pk>\d+)$',login_required(ListView.as_view(queryset=post_episode.objects.filter(post_id=1).order_by("-date"),template_name="cartoons/post.html"))),
然后将url路由到该视图:
from <yourapp.views> import EpisodeListView
from django.contrib.auth.decorators import login_required
url(r'^episodes/(?P<pk>\d+)$',login_required(EpisodeListView.as_view())
从导入EpiodeListView
从django.contrib.auth.decorators导入所需的登录名
url(r'^scents/(?P\d+)$),需要登录(eposodelistView.as\u view())
您应该使用@python\u 2\u unicode\u compitable,而不是自定义unicode和str