Django当前用于“ from django.views.generic import list_detail”是什么?
问题内容:
在理解“ from django.views.generic import list_detail”已从Django中弃用和/或删除之后,我是否理解正确?
如果是这样,合适的继任者是什么?
谢谢,
-
@加雷斯,谢谢。
我有一个后续问题要问:如何使用ListView替换list_detail.object_detail?
当前代码(仅在导入中已更改)为:
from django.conf.urls.defaults import *
#from django.views.generic import list_detail
from django.views.generic.list import ListView
from announcements.models import Announcement
from announcements.views import *
announcement_detail_info = {
"queryset": Announcement.objects.all(),
}
urlpatterns = patterns("",
url(r"^(?P<object_id>\d+)/$", list_detail.object_detail,
announcement_detail_info, name="announcement_detail"),
url(r"^(?P<object_id>\d+)/hide/$", announcement_hide,
name="announcement_hide"),
url(r"^$", announcement_list, name="announcement_home"),
)
https://docs.djangoproject.com/zh-CN/dev/ref/class-based-views/generic-
display/#listview
似乎并不建议对以下内容进行单个内联替换:
url(r"^(?P<object_id>\d+)/$", list_detail.object_detail,
announcement_detail_info, name="announcement_detail"),
如果有的话,它建议添加一个附加模型,并在该模型的基础上进行构建。
是否可以快速内联替换list_detail.object_detail调用,还是需要更多的连根拔起?
谢谢,
问题答案:
django.views.generic.list_detail
在Django
1.3
中已弃用:
从Django 1.3开始,不赞成使用基于函数的通用视图,而倾向于基于类的方法。
使用django.views.generic.list.ListView
代替。