我有一系列与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篇最新文章,其中出版日期的年份是gte year
和lt year + 1
。理想情况下,将在每个请求中查找集合,而不仅仅是在编译时缓存。我最好为这个/扩展视图编写一个上下文处理器吗?
答案 0 :(得分: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'),