如何使用Djangositeflags为站点对象添加书签?

2024-04-25 22:36:40 发布

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

这个包是herehere,但我无法让它工作

这是我的models.py文件

class Video(models.Model, ModelWithFlag):
    name = models.CharField(max_length=255)

    file = models.FileField(upload_to="static/videos/", null=True, verbose_name="", unique=True)

    def __str__(self):
        return self.name

以及views.py文件

def user_bookmarked_video(request, bookmark_id):
    video = get_object_or_404(Video, pk=bookmark_id)
    # Now a user adds this article to his bookmarks.

    video.set_flag(request.user)

url.py.html应该是什么样子


Tags: 文件tonamepyselfidtruehere
1条回答
网友
1楼 · 发布于 2024-04-25 22:36:40

大部分问题与siteflags本身无关

请参见“Writing more views”以获得url.py的示例。 例如,它可能看起来像

path('videos/<int:bookmark_id>/', views.user_bookmarked_video, name='videos_bookmarked'),

但是,您的bookmark\u id有误,因为它是一个视频id,而不是书签id。此外,您的视图名为user\u bookmarked\u video(),但它不是它所做的-它只是在某个视频对象上设置一个标志(书签)

如果您打算使用此视图来设置书签,最好将其命名为set\u video\u bookmark()并在函数末尾重定向,而不是html呈现

如果您的意图是为当前用户显示所有带书签的视频,则无需接受bookmark\u id参数作为您的视图,并在每个视图调用上进行标记

你的html可能看起来像你想要的,这取决于你想看什么。 例如:

<h1>{{ video.name }}</h1>

相关问题 更多 >