Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在urlpatterns中使用django.views.generic.list.ListView_Django - Fatal编程技术网

在urlpatterns中使用django.views.generic.list.ListView

在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的新手,非常感谢您的帮助

下面提到的代码来自一本关于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_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"),
    )