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
viewsom pekar på instansenView.Använd
alters_datadä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=Truepå 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_namekommer ett undantag avdjango.core.exceptions.ImproperlyConfigured`att uppstå.
- template_engine¶
NAMEför en mallmotor som ska användas för att ladda mallen.template_engineskickas somusingnyckelordsargument 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 template response middleware).Om du behöver anpassad laddning av mallar eller anpassad instansiering av kontextobjekt skapar du en subklass av
TemplateResponseoch tilldelar den tillresponse_class.
- content_type¶
Den innehållstyp som ska användas för svaret.
content_typeskickas 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).