在urlpatterns中使用django.views.generic.list.ListView
我是Django的新手,非常感谢您的帮助 下面提到的代码来自一本关于Django的旧书。但是,在urlpatterns中使用django.views.generic.list.ListView,django,Django,我是Django的新手,非常感谢您的帮助 下面提到的代码来自一本关于Django的旧书。但是,django.views.generic.list\u detail已被弃用。有人能告诉我如何用django.views.generic.list.ListView重新编写这段代码吗 从django.conf.url导入模式,包括,url 从cmsproject.cms.models导入故事 info_dict={'queryset':Story.objects.all(),'template_obj
django.views.generic.list\u detail
已被弃用。有人能告诉我如何用django.views.generic.list.ListView
重新编写这段代码吗
从django.conf.url导入模式,包括,url
从cmsproject.cms.models导入故事
info_dict={'queryset':Story.objects.all(),'template_object_name':'Story'}
urlpatterns=patterns('django.views.generic.list\u detail',
url(r'^(?P[-\w]+)/$,'object\u detail',info\u dict,name=“cms story”),
url(r’^$,‘对象列表’,信息目录,name=“cms主页”),
)
假设您只需要获取故事模型对象列表,这是编写views.py和url.py的一种方法:
在views.py中:
from django.views.generic.list import ListView, DetailView
from cmsproject.cms.models import Story
class StoryListView(ListView):
model = Story
template_name = "cms/story_list.html"
class StoryDetailView(DetailView):
model = Story
template_name = "cms/story_detail.html"
template\u name
取决于您在项目中放置html文件的位置。通过设置model=Story
,ListView
将获取Story.objects.all()
。要自定义、筛选、添加上下文等,可以重写基于类的视图从其父视图继承的任何方法(例如,在StoryListView中,可以重写ListView方法)
在URL.py中
from django.conf.urls import patterns, url
from cmsproject.cms.views import StoryDetailView, StoryListView
urlpatterns = patterns('',
url(r'^(?P<slug>[-\w]+)/$', StoryDetailView.as_view(), name="cms-story"),
url(r'^$', StoryListView.as_view(), name="cms-home"),
)
来自django.conf.url导入模式,url
从cmsproject.cms.views导入StoryDetailView、StoryListView
urlpatterns=模式(“”,
url(r'^(?P[-\w]+)/$”,StoryDetailView.as_view(),name=“cms story”),
url(r'^$',StoryListView.as_view(),name=“cms home”),
)
将url.py视为url和视图对象之间的映射。定义name
允许您通过将name作为参数包含到模板中的url模板标记来引用/链接到其他视图
一些非常有用的参考资料:
- 有效Django-
- CCBV
- Django项目
- ->在url下查看
from django.conf.urls import patterns, url
from cmsproject.cms.views import StoryDetailView, StoryListView
urlpatterns = patterns('',
url(r'^(?P<slug>[-\w]+)/$', StoryDetailView.as_view(), name="cms-story"),
url(r'^$', StoryListView.as_view(), name="cms-home"),
)