Warum benötigt Django ein Request-Objekt beim Rendern einer Vorlage?Warum benötigt Django ein Request-Objekt beim Rendern einer Vorlage?
return render(request, 'polls/index.html', context)
Warum benötigt Django ein Request-Objekt beim Rendern einer Vorlage?Warum benötigt Django ein Request-Objekt beim Rendern einer Vorlage?
return render(request, 'polls/index.html', context)
Das request
Argument verwendet wird, wenn Sie einen RequestContext
verwenden möchten, die in der Regel der Fall ist, wenn Sie template context processors verwenden möchten. Sie können None
als das request
Argument übergeben, wenn Sie möchten, und Sie werden ein reguläres Context
Objekt in Ihrer Vorlage erhalten.
Kombiniert eine gegebene Vorlage mit einem gegebenen Kontext-Wörterbuch und gibt ein Httpresponse-Objekt mit diesem übertragenen Text.
So ist es bedeutet, in Ansichten verwendet werden soll, wo man ein request
Objekt und benötigt ein HttpResponse
zurückzukehren. Ein typischer Anwendungsfall ist, wenn Sie den Kontext aus der Anfrage erstellen.
Wenn Sie nur eine Vorlage machen, dann können Sie die Verknüpfung Funktion render_to_string
verwenden:
from django.template.loader import render_to_string
render_to_string('your_template.html', {'some_key':'some_value'})
Oder es manuell:
from django.template import Context, Template
Template('your_template.html').render(Context({'some_key':'some_value'})
docu sagte Anfrage ist erforderlicher Parameter? Ist Template ('your_template.html'). Render (Kontext ({'some_key': 'some_value'}) mit einer anderen Rendermethode? –
Ich glaube, das ist b/c der render()
Abkürzung Verwenden Sie eine RequestContext
Sie können auch get_template direkt verwenden und rufen Sie render mit einem normale Context
Technisch, [es nicht] (https://docs.djangoproject.com/en/1.9/topics/http/shortcuts/#render-to-response) – Sayse