我正在关注网站上的django教程,我仍然坚持使用通用视图。
views.py
class DetailView(generic.DetailView):
model = Questions
template_name = 'tolls/detail.html'
urls.py
url(r'^(?P<pk>[0-9]+)/$', views.DetailView.as_view(), name='detail')
detail.html
<h1> {{question.question_text}} </h1>
我的details.html中没有显示任何内容
如果我不使用通用视图,则可使用以下功能和网址
view.py
def detial(request, question_id):
question = get_object_or_404(Questions, pk=question_id)
return render(request, 'tolls/detail.html', {'question': question})
urls.py
`url(r'^(?P<question_id>[0-9]+)/$', views.detial, name='detail'),`
答案 0 :(得分:1)
访问模型实例的默认名称是object
。因此,要么在模板中使用{{ object.question_text }}
,要么使用context_object_name
在视图类中指定名称:
class DetailView(generic.DetailView):
model = Questions
template_name = 'tolls/detail.html'
context_object_name = 'question'