Mixins för enskilda objektLink to this heading
SingleObjectMixinLink to this heading
- class django.views.generic.detail.SingleObjectMixinLink to this definition
Tillhandahåller en mekanism för att leta upp ett objekt som är associerat med den aktuella HTTP-begäran.
Metoder och egenskaper
- modelLink to this definition
Den modell som denna vy ska visa data för. Att ange
model = Fooär i praktiken detsamma som att angequeryset = Foo.objects.all(), därobjectsstår förFoodefault manager <default-managers>`.
- querysetLink to this definition
En
QuerySetsom representerar objekten. Om det anges ersätter värdet förquerysetdet värde som anges förmodel.
- slug_fieldLink to this definition
Namnet på det fält i modellen som innehåller sluggen. Som standard är
slug_field'slug'.
- slug_url_kwargLink to this definition
Namnet på URLConf-nyckelordsargumentet som innehåller sluggen. Som standard är
slug_url_kwarg'slug'.
- pk_url_kwargLink to this definition
Namnet på URLConf-nyckelordsargumentet som innehåller den primära nyckeln. Som standard är
pk_url_kwarg'pk.
- context_object_nameLink to this definition
Anger namnet på den variabel som ska användas i sammanhanget.
- query_pk_and_slugLink to this definition
If
True, causesget_object()to perform its lookup using both the primary key and the slug. Defaults toFalse.Detta attribut kan bidra till att mildra attacker med ”osäker direkt objektreferens”. När applikationer ger åtkomst till enskilda objekt med en sekventiell primärnyckel kan en angripare med brutalt våld gissa sig till alla URL:er och därigenom få en lista över alla objekt i applikationen. Om användare med åtkomst till enskilda objekt ska hindras från att få fram den här listan, kan inställningen
query_pk_and_slugtillTruehjälpa till att förhindra gissning av webbadresser eftersom varje webbadress kräver två korrekta, icke sekventiella argument. Att använda en unik slug kan tjäna samma syfte, men det här schemat tillåter dig att ha icke-unika slugs.
- get_object(queryset=None)Link to this definition
Returnerar det enskilda objekt som denna vy kommer att visa. Om
querysetanges kommer denna queryset att användas som källa för objekten; annars kommerget_queryset()att användas.get_object()letar efter ettpk_url_kwarg-argument i argumenten till vyn; om detta argument hittas utför denna metod en primärnyckelbaserad sökning med hjälp av detta värde. Om detta argument inte hittas letar den efter ettslug_url_kwarg-argument och utför en slug-uppslagning med hjälp avslug_field.När
query_pk_and_slugärTruekommerget_object()att utföra sin sökning med hjälp av både primärnyckeln och sluggen.
- get_queryset()Link to this definition
Returnerar den queryset som kommer att användas för att hämta objektet som denna vy kommer att visa. Som standard returnerar
get_queryset()värdet på attributetquerysetom det är inställt, annars konstruerar det enQuerySetgenom att anropa metodenall()på attributetmodelstandardhanterare.
- get_context_object_name(obj)Link to this definition
Returnerar det kontextvariabelnamn som kommer att användas för att innehålla de data som denna vy manipulerar. Om
context_object_nameinte anges kommer kontextnamnet att konstrueras frånmodel_nameför den modell som frågeuppsättningen är sammansatt av. Till exempel: skulle modellenArticleha ett kontextobjekt med namnet'article'.
- get_context_data(**kwargs)Link to this definition
Returnerar kontextdata för visning av objektet.
Basimplementeringen av denna metod kräver att attributet
self.objectställs in av vyn (även om det ärNone). Var noga med att göra detta om du använder denna mixin utan en av de inbyggda vyerna som gör det.Den returnerar en ordbok med detta innehåll:
object: Det objekt som denna vy visar (self.object).context_object_name:self.objectkommer också att lagras under det namn som returneras avget_context_object_name(), vilket som standard är den gemena versionen av modellnamnet.
- get_slug_field()Link to this definition
Returnerar namnet på ett slug-fält som ska användas för att söka efter slug. Som standard returneras värdet för
slug_field.
SingleObjectTemplateResponseMixinLink to this heading
- class django.views.generic.detail.SingleObjectTemplateResponseMixinLink to this definition
En mixin-klass som utför mallbaserad svarsrendering för vyer som arbetar med en enda objektinstans. Kräver att vyn som den blandas med tillhandahåller
self.object, den objektinstans som vyn arbetar med.self.objectkommer vanligtvis att vara, men behöver inte vara, en instans av en Django-modell. Det kan varaNoneom vyn håller på att konstruera en ny instans.Förlänger
Metoder och egenskaper
- template_name_fieldLink to this definition
Det fält i den aktuella objektinstansen som kan användas för att bestämma namnet på en kandidatmall. Om antingen
template_name_fieldsjälvt eller värdet påtemplate_name_fieldpå den aktuella objektinstansen ärNone, kommer objektet inte att användas för ett kandidatmallnamn.
- template_name_suffixLink to this definition
Suffixet som ska läggas till det autogenererade kandidatmallnamnet. Standardsuffixet är
_detail.
- get_template_names()Link to this definition
Returnerar en lista med kandidatmallnamn. Returnerar en lista som innehåller
template_name, om värdet är inställt på det. Annars returneras en lista som innehåller:innehållet i fältet
template_name_fieldi den objektinstans som vyn arbetar med (om tillgängligt)<app_label>/<modell_namn><template_namn_suffix>.html