Wie kann ich den aktuellen Benutzer in einem Django Template Tags bekommen? (Anfrage Objekt ist nicht zugänglich) Oder wie kann ich auf Anfrage Objekt zugreifen?Wie bekomme ich den aktuellen Benutzer in einem Template-Tag?
Antwort
Wenn Sie den aktuellen Benutzer in einem Template-Tag zugreifen möchten, können Sie es als Parameter in den Vorlagen passieren muss, etwa so:
{% my_template_tag user %}
Dann stellen Sie sicher, Ihre Template-Tag dies akzeptiert zusätzlicher Parameter Überprüfen Sie die documentation zu diesem Thema. Sie sollten auch simple tags auschecken.
Der Benutzer immer auf die Anforderung angebracht ist, kann in Ihren Vorlagen, die Sie wie folgt vor:
{% if user.is_authenticated %}
{% endif %}
Sie müssen nicht angeben „Anforderung“ sein Inhalt
UPDATE zuzugreifen:
beachten Sie: is_authenticated()
immer True
Rückkehr für angemeldete Benutzer (User
Objekte), aber kehrt False
für AnonymousUser
(Gastbenutzer). Lesen Sie hier: https://docs.djangoproject.com/en/1.7/ref/contrib/auth/
Das ist off Thema – tapioco123
'user.is_authenticated' gibt immer wahr zurück, so dass es im Grunde nutzlos ist. –
nein! Es gibt immer true für Benutzer zurück (geloggte), gibt aber für AnonymousUser false zurück, ist also nicht nutzlos! Lesen Sie hier sorgfältig: https://docs.djangoproject.com/de/1.7/ref/contrib/auth/ – daveoncode
Diese Frage war bereits answered here:
{% ifuser.is_authenticated %}
Welcome
'{{ user.username }}'
{% else %}
<a href="{% url django.contrib.auth.login %}">Login</a>
{% endif %}
und stellen Sie sicher, dass Sie die Anfrage Vorlage Kontext Prozessor in Ihrem settings.py installiert haben:
TEMPLATE_CONTEXT_PROCESSORS = (
...
'django.core.context_processors.request',
...
)
Hinweis:
- Verwenden
request.user.get_username()
in Ansichten &user.get_username
in Vorlagen. Bevorzugtes direktes Verweisen auf das username-Attribut. Source - Diese Vorlagenkontextvariable ist verfügbar, wenn ein RequestContext verwendet wird.
- django.contrib.auth.context_processors.auth durch standardmässig aktiviert ist & enthält die Variable Benutzer
- Sie benötigen zum Prozessor Vorlage Kontext nicht aktivieren django.core.context_processors.request.
Quelle: https://docs.djangoproject.com/en/dev/topics/auth/default/#authentication-data-in-templates
- 1. Wie bekomme ich den aktuellen Benutzer mit jsonwebtoken in Sails.js?
- 2. Wie bekomme ich aktuellen Benutzer auf firebase
- 3. Den aktuellen Benutzer bekommen
- 4. CABasicAnimation Wie bekomme ich den aktuellen Drehwinkel
- 5. Wie bekomme ich den aktuellen TimeStamp?
- 6. Wie bekomme ich den aktuellen Benutzer und wie benutze ich die Benutzerklasse in MVC5?
- 7. Wie bekomme ich den aktuellen Klingelton in Android?
- 8. Wie kann ich den aktuellen Benutzer in Liferay bekommen?
- 9. Wie bekomme ich den aktuellen pk, auf den zugegriffen wird?
- 10. Wie bekomme ich den angemeldeten Benutzer/Benutzer eines Windows-Servers?
- 11. Wie bekomme ich den aktuellen Monat in tcl?
- 12. Wie bekomme ich den aktuellen Benutzernamen von Windows in silverlight?
- 13. Wie bekomme ich den Namen des aktuellen Verzeichnisses in Ruby?
- 14. Wie bekomme ich den aktuellen Standort in watchOS 2?
- 15. Wie bekomme ich den aktuellen Standort in Swift iOS Programmierung?
- 16. Wie bekomme ich den aktuellen Standort in Android
- 17. Wie bekomme ich den aktuellen Zeitstempel in C++ seit 1970?
- 18. Wie bekomme ich den aktuellen Controller in yii2
- 19. Wie bekomme ich den aktuellen Tag der Woche in vimscript?
- 20. In clojure, wie bekomme ich den Dateinamen des aktuellen Namespace?
- 21. Wie bekomme ich den Namen des aktuellen Ziels in MSBuild?
- 22. Wie bekomme ich den aktuellen Zustand der Feststelltaste in VB.NET?
- 23. Wie bekomme ich den aktuellen Hostnamen in Heroku?
- 24. Wie bekomme ich den Speicherort der aktuellen Datei in Revel
- 25. Wie bekomme ich einen Pfad zum Desktop für den aktuellen Benutzer in C#?
- 26. Wie bekomme ich den aktuellen Benutzer in Perl auf tragbare Weise?
- 27. Wie bekomme ich den aktuellen Benutzer für mein created_by Feld in Django 1.9?
- 28. Wie bekomme ich den aktuellen Frame (als Bitmap) für den Android-Facedetector in einem Tracker-Event?
- 29. Wie bekomme ich den aktuellen Testdateinamen von RSpec?
- 30. Wie bekomme ich den aktuellen Extension-Delegaten auf watchOS?
Sie können es als Kontext-Prozessor erstellen als Template-Tags erstellen und sie immer in einer Vorlage nennen. Im Kontext-Prozessor können Sie den Benutzer holen, ohne die Funktion immer in einer Vorlage aufzurufen. – catherine
Wirklich kompliziert für einen One-Liner Template-Tag .. Ist wirklich Django so unhandlich? – tapioco123
Oder versuchen Sie, dies in Ihre Vorlage {{user.username}} – catherine