KontextMixin¶Attribut
En ordbok som ska inkluderas i sammanhanget. Detta är ett bekvämt sätt att ange en kontext i as_view(). Exempel på användning:
from django.views.generic import TemplateView
TemplateView.as_view(extra_context={"title": "Custom Title"})
Metoder
Returnerar en ordbok som representerar mallkontexten. De nyckelordsargument som anges kommer att utgöra den returnerade kontexten. Exempel på användning:
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context["number"] = random.randrange(1, 100)
return context
Mallkontexten för alla klassbaserade generiska vyer innehåller en variabel view som pekar på instansen View.
Använd alters_data där det är lämpligt
Note that having the view instance in the template context may
expose potentially hazardous methods to template authors. To
prevent methods like this from being called in the template, set
alters_data=True on those methods. For more information, read
the documentation on rendering a template context.
TemplateResponseMixin¶Tillhandahåller en mekanism för att konstruera en TemplateResponse, givet lämpligt sammanhang. Den mall som ska användas är konfigurerbar och kan anpassas ytterligare av underklasser.
Attribut
Det fullständiga namnet på en mall som ska användas, definierat av en sträng. Om du inte definierar ett template_name kommer ett undantag av django.core.exceptions.ImproperlyConfigured` att uppstå.
NAME för en mallmotor som ska användas för att ladda mallen. template_engine skickas som using nyckelordsargument till response_class. Standard är None, vilket säger till Django att söka efter mallen i alla konfigurerade motorer.
Den svarsklass som ska returneras av metoden render_to_response. Standard är TemplateResponse. Mallen och kontexten för TemplateResponse-instanser kan ändras senare (t.ex. i template response middleware).
Om du behöver anpassad laddning av mallar eller anpassad instansiering av kontextobjekt skapar du en subklass av TemplateResponse och tilldelar den till response_class.
Den innehållstyp som ska användas för svaret. content_type skickas som ett nyckelordsargument till response_class. Standard är None - vilket innebär att Django använder 'text/html.
Metoder
Returnerar en instans av self.response_class.
Om några nyckelordsargument anges kommer de att skickas till konstruktören för svarsklassen.
Calls get_template_names() to obtain the list of template names
that will be searched looking for an existent template.
Returnerar en lista med mallnamn att söka efter vid rendering av mallen. Den första mallen som hittas kommer att användas.
Standardimplementeringen returnerar en lista som innehåller template_name (om det anges).
dec. 03, 2025