0

我有一系列与 Django 的通用日期视图相关的 url。在 extra_context 参数中,我想根据 URL 中的年/月变量传入一个查询集,但我不确定如何访问它们。例如,在

url(r'^archive/(?P<year>20[1-2][0-9])/?$', archive_year,
{'queryset': Article.objects.all(),
'date_field': 'publication_date',
'template_name': 'articles/archive-date-list.html',
'extra_context': {'content': 'articles'}},
name='article_archive'),

我想添加 5 篇最新文章,其中发布日期的年份是 gteyear和 lt year + 1。理想情况下,将在每个请求上查找集合,而不仅仅是在编译时缓存。我最好为此/扩展视图编写上下文处理器吗?

4

1 回答 1

2

您围绕通用视图创建一个包装器:

# myapp/views.py

def my_archive_year(request, year):
    # Logic to get the articles here

    return archive_year(request,
        year=year,
        date_field='publication_date',
        template_name='articles/archive-date-list.html',
        extra_context = {'content': articles}
    )

# urls.py

url(r'^archive/(?P<year>20[1-2][0-9])/?$', 'myapp.views.my_archive_year', name='article_archive'),
于 2011-06-06T15:07:15.097 回答