Python 3.x 我怎样才能做到这一点;“基于类的视图”;工作
我一直在学习Django,现在正在研究基于类的视图。我键入的内容与官方文档和《初学者手册》中提到的内容一模一样,但代码没有按照他们解释的那样工作。请告诉我为什么这样不行 命令提示符显示“File”C:\Users\yuto1\Desktop\book\u study\Tabelog\url.py”,第9行,在 路径(“list/”,ReviewList.as_view(),name=“ReviewList”), AttributeError:“函数”对象没有“作为视图”的属性 url.pyPython 3.x 我怎样才能做到这一点;“基于类的视图”;工作,python-3.x,django,django-views,django-templates,django-urls,Python 3.x,Django,Django Views,Django Templates,Django Urls,我一直在学习Django,现在正在研究基于类的视图。我键入的内容与官方文档和《初学者手册》中提到的内容一模一样,但代码没有按照他们解释的那样工作。请告诉我为什么这样不行 命令提示符显示“File”C:\Users\yuto1\Desktop\book\u study\Tabelog\url.py”,第9行,在 路径(“list/”,ReviewList.as_view(),name=“ReviewList”), AttributeError:“函数”对象没有“作为视图”的属性 url.py fr
from django.urls import path,include
from Tabelog import views
from Tabelog.views import ReviewList
app_name = "Tabelog"
urlpatterns = [
path("lp/", views.lp,name="lp"),
path("list/", ReviewList.as_view(), name="ReviewList"),
path("detail/<str:store_name>",views.detail,name="detail"),
path("form/",views.form,name="form"),
path("form/fix/<str:pk>",views.form_fix,name="form_fix")
]
reviewlist_list.html
<!DOCTYPE html>
{% extends 'diary/base.html' %}
{% block content %}
{% for contents in object_list%}
<article class="store">
<h1> <a href="{% url 'Tabelog:detail' contents.store_name %}">{{contents.store_name}}</a></h1>
<h2>{{contents.get_stars_display}}</h2>
<span>{{contents.outline}}</span>
</article>
{% endfor %}
{% endblock %}
{%extends'日记/base.html%}
{%block content%}
{对象_列表%中的内容为%0}
{{contents.get_stars_display}
{{contents.outline}
{%endfor%}
{%endblock%}
在基于类的视图中工作时,您需要通过关键字class而不是def指定类名(用于基于函数的视图),在代码中进行更改,如下所示
class ReviewList(ListView):
model = Tabelog
class ReviewList(ListView):
model = Tabelog