Django:Generic View无效

时间:2016-07-10 17:52:51

标签: django

我正在关注网站上的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'),`

1 个答案:

答案 0 :(得分:1)

访问模型实例的默认名称是object。因此,要么在模板中使用{{ object.question_text }},要么使用context_object_name在视图类中指定名称:

class DetailView(generic.DetailView):
    model = Questions
    template_name = 'tolls/detail.html'
    context_object_name = 'question'