Django: Ermitteln der Admin-Anmeldung in der Ansicht oder in der Vorlage
Wie kann ich erkennen, aus Ansichten oder eine Vorlage-Datei, wenn mein admin Benutzer angemeldet ist oder nicht? Zum Beispiel use-case für meine Website:
- Benutzer öffnet
/admin/
geben Sie die richtigen Anmeldeinformationen - Dann Benutzer öffnen Sie eine Seite, zum Beispiel
/page/
und es gibt "Hinzufügen" und "Löschen" - buttons - Benutzer öffnet
/admin/
und klicken Sie auf "Log out" /page/
-> es gibt kein "Hinzufügen" und "Löschen" - buttons
Django in version 1.4
InformationsquelleAutor der Frage Rusty | 2012-08-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Joseph ' s Antwort ist gut für deinen einfachen Fall, aber in der Realität weder
is_staff
nochis_superuser
ist eine perfekte Passform. Vorausgesetzt, Ihre Seite ist, sagen wir,/polls/
(eine Liste derPoll
Objekte, die in einer app namenspoll
), sollten Sie testen, die spezifischenpoll.change_poll
undpoll.delete_poll
Berechtigungen.In eine Vorlage:
Oder in einer Ansicht mit
has_perm
:Oder in einer Ansicht mit einem decorator:
Zuzuordnen, können Sie diese Berechtigungen nicht direkt an einen Benutzer, an eine Gruppe (und dann legen Sie einen Benutzer in einer Gruppe) oder durch Einstellung
is_superuser
.InformationsquelleAutor der Antwort supervacuo
Vorlagen:
In Aussicht:
Je nach Ihren Bedürfnissen
is_staff
möglicherweise eine bessere Passform alsis_superuser
. Lesen Sie über den Unterschied hier.InformationsquelleAutor der Antwort Joe Mornin