2011-06-06 92 views
0

我有一系列與Django的通用日期視圖綁定的url。在extra_context參數中,我希望傳入基於URL中年/月變量的查詢集,但我不確定如何訪問它們。例如,在Django基於日期的通用視圖:如何訪問變量

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。理想情況下,集合將在每個請求中查找,而不僅僅是在編譯時緩存。我最好爲此編寫一個上下文處理器/擴展視圖?

回答

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'), 
相關問題