【问题标题】:Django Date-Based Generic Views: How to Access VariablesDjango 基于日期的通用视图:如何访问变量
【发布时间】:2011-09-09 08:16:01
【问题描述】:

我有一系列与 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。理想情况下,将在每个请求上查找集合,而不仅仅是在编译时缓存。我最好为此编写上下文处理器/扩展视图吗?

【问题讨论】:

    标签: django django-generic-views


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2018-02-20
      • 2012-01-28
      • 2012-06-09
      • 2011-08-06
      • 2013-06-21
      • 2010-12-28
      • 2013-09-23
      • 2013-04-02
      • 2010-10-14
      相关资源
      最近更新 更多