如何在django中的date_based通用视图中传递filter的属性

时间:2011-12-07 16:15:02

标签: django django-generic-views django-filters

我正在为我的博客应用程序使用基于日期的通用视图。我想使用这些通用视图来显示根据日期归档的特定用户的所有博客。为此,我必须使用的URL看起来像这样

 url(r'^archive/month/(?P<year>\d+)/(?P<month>\w+)$',
        'django.views.generic.date_based.archive_month',
        {
            'queryset': Entry.objects.all(), 
            'date_field': 'pub_date',
        },
        name='blog_archive_month',
       ),

有没有办法可以在此网址中传递属性,可以用来过滤对象。我想要这样的东西

 url(r'^(?P<creator_id>\d+)/archive/month/(?P<year>\d+)/(?P<month>\w+)$',
        'django.views.generic.date_based.archive_month',
        {
            'queryset': Entry.objects.filter(creator.id = creator_id), 
            'date_field': 'pub_date',
        },
        name='blog_archive_month',
       ),

这合法吗?如果不是,那么还有其他方法可以做同样的事情,而不必自己制作自定义视图。我查看了文档,但我找不到任何内容。

1 个答案:

答案 0 :(得分:0)

我个人会对此发表看法。在我看来,yor urls文件中发生了太多的逻辑。如果您正在进行直接对象列表,例如:

,这是您在视图中返回的内容
return object_list(request, q, paginate_by=20, extra_context={})