Gibt es eine Möglichkeit, ein Benutzermenü zu haben, das sich entsprechend den Berechtigungen ändert, die der Benutzergruppe zugewiesen sind, zu der ein Benutzer gehört? Ich denke an etwas, das auf der Ansichtsebene nach diesen Berechtigungen sucht, und entfernt auch Menüoptionen, zu denen ein Benutzer keine Berechtigung hat.Dynamisches Benutzermenü in Django
Antwort
Ja, es ist möglich, das Benutzerobjekt in der Vorlage für den Zugriff auf und prüfen Sie, ob die Benutzer wie dieses Personal :
Dies wäre ein Beispiel, wo Ihr Menü, wo li Elemente von Links. Der Admin-Link wird nur für Benutzer mit dem Status "is_staff" gerendert. Das gleiche könnte mit is_authenticated getan werden.
Django ist gebaut, um Logik und Präsentation getrennt zu haben, also wenn Sie eine feinere Kontrolle über das Menü machen möchten, würde ich vorschlagen, die Logik innerhalb der Ansicht zu tun, und stellen Sie dann eine Variable, die Sie einchecken können die Vorlage, um zu bestimmen, welche Menüs angezeigt werden sollen.
Zum größten Teil, django Admin gibt Ihnen nicht Links zu Dingen, die Sie nicht tun können.
Django Grappelli (a django Admin-Haut) implementiert eine Art von Seite verlinkt, wenn es das ist, was meinen Sie http://code.google.com/p/django-grappelli/
- 1. Django Detailansicht dynamisches Modell
- 2. Wie erreicht das Air BnB das Benutzermenü?
- 3. Dynamisches Feld zu Django Admin-Formular hinzufügen
- 4. Django-Modell mit FileField - dynamisches Argument 'upload_to'
- 5. Wie würden Sie in Django ein dynamisches Formset erstellen?
- 6. Übergabe von Argumenten an ein dynamisches Formular in Django
- 7. Dynamisches Modellauswahlfeld im Django-Formularsatz mit mehreren Auswahlelementen
- 8. Dynamisches Ziel in make
- 9. Dynamisches Array in C#
- 10. Dynamisches Menü in Android?
- 11. Dynamisches Objektliteral in Javascript?
- 12. Dynamisches Attribut in ReactJS
- 13. dynamisches Array in C#
- 14. Dynamisches Array in Struktur
- 15. Dynamisches Routing in Mule
- 16. Dynamisches Markup in Wicket
- 17. Dynamisches Scoping in Clojure?
- 18. Dynamisches Menü in MVC
- 19. dynamisches Plotten in wxpython
- 20. Dynamisches Mapping in Dataweave
- 21. dynamisches Casting
- 22. Dynamisches Startbildschirmbild?
- 23. Dynamisches Gerüst in Schienen 2.2.2
- 24. dynamisches Objekt in C++ nicht
- 25. Dynamisches Routing in ASP.Net Core
- 26. SVG dynamisches Rendering in Chrome
- 27. Dynamisches neues Feld in LINQ
- 28. Dynamisches Methoden-Dispatching in C
- 29. Dynamisches Objekt in JS erstellen
- 30. Dynamisches Schneiden in C/C++
Ich dachte in diesen Zeilen ... danke für die schnelle Hilfe –
Auf einer Randnotiz, obwohl dies eine saubere Präsentation von verschiedenen Menüs für z.B. Benutzer vs Admins. Es ist genau das und NICHT ein Mittel zur Sicherheit. Die Leute können immer noch eine URL geben, die "/ admin" enthält ... Nur darauf achten, dass man sich die Dekorateure "@staff_member_required" und "@login_required" ansieht. – GerardJP