Enkla mixins¶
KontextMixin
¶
- class django.views.generic.base.ContextMixin¶
Attribut
- extra_context¶
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
- get_context_data(**kwargs)¶
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å instansenView
.Använd
alters_data
där det är lämpligtObservera att om vyinstansen finns i mallkontexten kan potentiellt farliga metoder exponeras för mallförfattare. För att förhindra att metoder som denna anropas i mallen, ställ in
alters_data=True
på dessa metoder. För mer information, läs dokumentationen om rendering av en mallkontext.
TemplateResponseMixin
¶
- class django.views.generic.base.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
- template_name¶
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 avdjango.core.exceptions.ImproperlyConfigured`
att uppstå.
- template_engine¶
:inställning:`NAME <TEMPLATES-NAME>` för en mallmotor som ska användas för att ladda mallen.
template_engine
skickas somusing
nyckelordsargument tillresponse_class
. Standard ärNone
, vilket säger till Django att söka efter mallen i alla konfigurerade motorer.
- response_class¶
Den svarsklass som ska returneras av metoden
render_to_response
. Standard ärTemplateResponse
. Mallen och kontexten förTemplateResponse
-instanser kan ändras senare (t.ex. i :ref:``template response middleware <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 tillresponse_class
.
- content_type¶
Den innehållstyp som ska användas för svaret.
content_type
skickas som ett nyckelordsargument tillresponse_class
. Standard ärNone
- vilket innebär att Django använder'text/html
.
Metoder
- render_to_response(context, **response_kwargs)¶
Returnerar en instans av
self.response_class
.Om några nyckelordsargument anges kommer de att skickas till konstruktören för svarsklassen.
Anropar
get_template_names()
för att hämta listan över mallnamn som ska sökas efter en befintlig mall.
- get_template_names()¶
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).