我想创建django项目,其中包含两个模板主列表和主列表中的详细信息,使用遗传视图列表视图和详细信息视图。 主要列表工作但不是工作细节列表。 我的代码可以帮助我吗?
urls.py
urlpatterns = [
url(r'^$', ListView.as_view(
model = Test,
queryset = Test.objects.all(),
context_object_name = "test_list",
template_name='blog\test_list.html')),
url((r'^(?P<pk>\d+)-(?P<slug>[-\w]+)/$', DetailView.as_view(
context_object_name="test_list1",
model=Test,
template_name='blog\Test_details.html'
), name="test"),
]
html code test_list
{% for test in test_list %}
<h2> <a href="{{test.id}}">{{test.Title}}</a></h2>
{% endfor %}
html code test_details
<h2>{{ test.Title }}</h2>
答案 0 :(得分:0)
您的链接与您的网址不匹配:您只是在链接中传递了ID,但网址格式是期待链接和slug。
答案 1 :(得分:0)
我认为你的问题有几个拼写错误:
首先在网址中,你应该改变这个:
url((r'^(?P<pk>\d+)-(?P<slug>[-\w]+)/$', DetailView.as_view(
到此:
url((r'^(?P<pk>\d+)/$', DetailView.as_view(
其次,(再次针对DetailView)您的context_object_name设置为test_list1
,但您的模板使用test
(两者应匹配;考虑到此详细视图中没有列表,我会更改它们到test
)。
第三,您的template_name设置为blog\Test_details.html
,大写为T
,而您的html文件实际上为小写t
答案 2 :(得分:0)
是的,纠正我们的成功(只是删除 - (?P [ - \ w] +))连接第一个和第二个模板,但第二个模板我的Test.Title是空的不显示我的数据库中的详细信息,如果我使用{%for%}显示错误消息