过滤查询集并正确设计网址.py以及Djang中的模板

2024-09-26 22:12:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在设计一个儿童视频渲染网站。在

  • 该应用程序有家长类别,例如:卡通、教育节目等。每个类别都有多个帖子,如丛林书、鸭子故事等。在
  • 每个都有多个发作。在
  • 我对视图使用通用视图(listview,Detailview)。在

这是我的模型.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})

这是我的网址.py

^{pr2}$

以下是我的三个模板

卡通.html

{<1分$ {% extends "personal/header.html" %} {% load staticfiles %} {% block content %} {% for cartoons_post in object_list %} <a href="/cartoons/{{cartoons_post.id}}"> <img src= "{{cartoons_post.thumbnail.url}}" width="200" height="220"> </a> {% endfor %} {% endblock %}

帖子.html

{<1分$ {% extends "personal/header.html" %} {% load staticfiles %} {% block content %} {% for post_episode in object_list %} <a href="/cartoons/{{post_episode.id}}"> <img src= "{{post_episode.thumbnail.url}}" width="200" height="220"> </a> {% endfor %} {% endblock %}

发布_插曲.html

{<1分$ {% extends "personal/header.html" %} {% load staticfiles %} {% block content %} <div class="container-fluid_cartoons"> <h3>{{post_episode.title}}</h3> <video width="850" height="500" controls> <source src="{{post_episdoe.video.url}}" type="video/mp4"> Your browser does not support the video tag. </video> </div> {% endblock %}

问题 -只有卡通.html工作正常。在


Tags: selfidurlreturntitlemodelsdefhtml
1条回答
网友
1楼 · 发布于 2024-09-26 22:12:51

您应该考虑创建views.py文件,而不是在中使用通用视图网址.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"))),

在这里,如果我的猜测是正确的,那么您正试图将post模型的id从url传递到view。但要使ListView接受url kwargs(post_id),您必须在其中编写另一个视图视图.py. 也许像下面这样。在

^{pr2}$

然后将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())

相关问题 更多 >

    热门问题