0

以前的通用观点,我有这样的东西

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 的通用视图。首先导入所有这些视图并让模式(''空前缀是正确的方法吗?如果我将所有应用程序迁移到这种新样式的视图,我宁愿以正确的方式做事:)

谢谢

4

1 回答 1

2

这看起来不错 - 你确定没有其他问题吗?这与示例一致。

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"),
)

它与文档一致

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

于 2013-01-01T05:47:49.810 回答