我发现了一个代码,其中Django中的url可以包含一个模型,因此它可以直接将db值显示为html,但是当我尝试使用该代码时,我在url中遇到了一些错误,因为该代码仍使用模式,是否正确?可以在更新的Django中做这件事吗?
网址
from django.views.generic import ListView
from django.conf.urls import patterns, url
urlpatterns = patterns("myapp.views",
url(r'^dreamreals/', ListView.as_view(
template_name = "dreamreal_list.html")),
model = Dreamreal, context_object_name = ”dreamreals_objects” ,)
HTML
{% extends "main_template.html" %}
{% block content %}
Dreamreals:<p>
{% for dr in object_list %}
{{dr.name}}</p>
{% endfor %}
{% endblock %}
答案 0 :(得分:0)
我很确定您输入的内容都是ListView.as_view()
方法的花哨之处。
所以不要这样做
ListView.as_view(
template_name = "dreamreal_list.html")),
model = Dreamreal, context_object_name = ”dreamreals_objects” ,)
实际上在语法上是错误的,请执行以下操作:
ListView.as_view(
template_name = "dreamreal_list.html",
model = Dreamreal,
context_object_name = ”dreamreals_objects”
)
第二个错误,您正在将context_object_name设置为dreamreals_objects
,但是在模板中,您正在object_list
上进行迭代。
但是这种方法并不是真正的“漂亮”方法,您应该真正用自己的视图制作一个views.py
,然后urls.py
应该只关心制作一条路线。
正如评论中指出的那样,django 2.1+不再使用urlpatterns
而是path
:https://docs.djangoproject.com/en/2.1/topics/http/urls/#example