基于新类的通用视图和urlpatterns

时间:2012-12-29 13:17:57

标签: django django-views

对于以前的通用视图,我有类似的东西

link_info_dict = {
    'queryset' : Link.objects.all(),
    'date_field' : 'pub_date',
}
patterns('django.views.generic.date_based',
    url(r'^links/$', 'archive_index', link_info_dict, 'coltrane_link_archive_index'),
....
)

现在使用基于新类的通用视图,我发现以下内容似乎有效:

from django.views.generic.dates import ArchiveIndexView
....
urlpatterns = patterns('',
url(r'^links/$', ArchiveIndexView.as_view(**link_info_dict), name='coltrane_link_archive_index'),
....
)

我想知道我是否以最好的方式做事。 因为我必须调用'as_view'方法,所以我必须首先导入视图,因此我不能“分解”“django.views.generic.date_based”。我实际上使用了几乎所有的date_based通用视图。首先导入所有这些视图并让模式(''空前缀是正确的方法? 如果我将所有应用程序迁移到这种新的视图样式,我宁愿以正确的方式做事:)

由于

1 个答案:

答案 0 :(得分:2)

这看起来很好 - 你确定没有别的错吗?这与examples对齐。

from django.views.generic.dates import ArchiveIndexView

from myapp.models import Article

urlpatterns = patterns('',
    url(r'^archive/$',
        ArchiveIndexView.as_view(model=Article, date_field="pub_date"),
        name="article_archive"),
)

它与documentation

对齐
  

传递给as_view()的任何参数都将覆盖在类上设置的属性。