gpt4 book ai didi

django - 如何将 url 模式命名组与通用 View 一起使用?

转载 作者:行者123 更新时间:2023-12-02 05:05:02 25 4
gpt4 key购买 nike

我正在尝试使用通用 View 显示特定作者的博客记录:

urlpatterns = patterns('',
url(r'^blog/(?P<uid>[\d+])/$', ListView.as_view(
queryset=Blog.objects.filter(published=True, author=uid),
), name='blog_list'),

但我得到NameError:名称'uid'未定义

是否可以通过这种方式使用 urlconf 命名组?

最佳答案

您需要像这样创建自己的 ListView 实现:

class BlogListView(ListView):
model = Blog

def get_queryset(self):
return super(BlogListView, self).get_queryset().filter(
published=True, author__id=self.kwargs['uid'])

然后在 URLconf 中使用它:

urlpatterns = patterns('',
url(r'^blog/(?P<uid>[\d+])/$', BlogListView.as_view(),
name='blog_list'),

在我看来,基于类的通用 View 的文档还不太符合 Django 项目的其余部分 - 但有一些示例展示了如何在中使用 ListView这样:

https://docs.djangoproject.com/en/1.3/topics/class-based-views/#viewing-subsets-of-objects

关于django - 如何将 url 模式命名组与通用 View 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11171813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com