0

我正在为我的博客应用程序使用基于日期的通用视图。我想使用这些通用视图来显示根据日期归档的特定用户的所有博客。为此,我必须使用的 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 中传递一个属性,可以用来过滤对象。我想要这样的东西

 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',
       ),

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

4

1 回答 1

0

我个人会对此发表看法。在我看来,你的 urls 文件中发生了太多的逻辑。例如,如果您正在执行直接对象列表,则以下是您将在视图中返回的内容:

return object_list(request, q, paginate_by=20, extra_context={})
于 2011-12-07T16:23:55.963 回答