2016-07-10 20 views
0

Ich folge dem Django Tutorial auf der Website und ich bin fest auf die Verwendung der generischen Ansicht.Django: Generische Ansicht funktioniert nicht

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> 

Nichts in meinem details.html angezeigt

Wenn ich don‘ t generische Ansicht verwenden, funktioniert es wit h unterhalb Funktion und URL

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'),` 

Antwort

1

Der Standardname für Ihre Modellinstanz ist der Zugriff auf object. Verwenden Sie also entweder {{ object.question_text }} in Ihrer Vorlage oder geben Sie einen Namen in Ihrer Ansichtsklasse unter Verwendung von context_object_name:

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