django-Zugriff auf Kontext, in Vorlage
Mein code ist so:
Ich Brauch meinen Kontext und möchten Zugriff auf meine Abfrage im template
class GetStudentQueryHandler(ListView):
template_name = 'client.html'
paginate_by = STUDENT_PER_PAGE
context_object_name = 'studentinfo'
def get_context_data(self, **kwargs):
context = super(GetStudentQueryHandler, self).get_context_data(**kwargs)
context['can_show_distribute'] = self.request.user.has_perm('can_show_distribute_page')
context['form'] = QueryStudentForm
return context
def get_queryset(self):
Die Frage ist : wie Sie Zugang zu den queryset zurückgegeben von der get_queryset Methode, die in den Vorlagen?
Ich weiß, ich kann auf die benutzerdefinierten Attribute wie studentinfo.can_show_distribute, wie Sie auf die Abfrage Daten?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als es geschrieben hier, die Standard-Kontext-variable für
ListView
istobjects_list
So, in der Vorlage kann aufgerufen werden wie folgt:
Er kann auch manuell eingestellt werden, mit
context_object_name
parameter (wie in deinem Beispiel):und in Vorlage:
Zugriff auf die additonally Hinzugefügt Feld
can_show_distribute
aus dem Kontext in der Vorlage:context = super(GetStudentQueryHandler, self).get_context_data(**kwargs)
. So Ihr Kontext sind, werden alle Felder, dieListView
fügt. Zugriff aufcan_show_distribute
von der Vorlage, die Sie dies tun soll:{{can_show_distribute}}
, und nicht dieses:{{studentinfo.can_show_distribute}}
ListView
haben Variablen mit dem Namenobject_list
. Aber, Sie können bestimmte in die aktuelle Ansicht mit Variablen-Namen in dercontext_object_name
view-Klasse Eigenschaftcan_show_distribute
schien auch in Frage, habe ich vorgeschlagen zu erweitern, die akzeptierten Antworten entsprechend.