Gibt es eine Funktion oder ein globales Objekt, über das ich von überall im Django-Projekt auf den aktuell angemeldeten Benutzer zugreifen kann? Wenn nicht, was wird die Problemumgehung sein?Greifen Sie auf den aktuell angemeldeten Benutzer von überall im Code zu
Antwort
Auf Vorlagen
{{ user }}
auf views.py
request.user
In keiner Weise ist dies eine Antwort auf OP-Frage überhaupt. – kevr
Nein ist es nicht. Django dreht sich alles um Anfragen und Antworten. Der Benutzer ist spezifisch für eine bestimmte Anfrage. Wenn Sie eine Anfrage haben, können Sie als request.user auf den Benutzer zugreifen. Sonst, nein, das kannst du nicht.
danke. Gefunden, dass eine der Lösung wird benutzerdefinierte Middleware-Klasse zu schreiben, wie hier [https://blndxp.wordpress.com/2016/03/04/django-get-current-user-anywhere-in-your-code demonstriert -verwende-eine-Middleware /). Works für mich – AmirM
siehe meinen Kommentar zu der Antwort, die benutzerdefinierte Middleware schlägt, gibt es einen guten Grund, Benutzer ist kein globales Objekt, da einige Teile des Codes sogar aus Web-Kontext funktionieren sollte –
Gefunden this solution. Danach müssen Sie Ihre neue benutzerdefinierte Middleware-Klasse MIDDLEWARE_CLASSES in den Einstellungen hinzufügen
Es ist natürlich möglich, zu hacken um und expose Anfrage als global. Das Problem bei diesem Ansatz besteht darin, dass der Benutzer von Natur aus anforderungsspezifisch ist. Wenn Sie beispielsweise einen Benutzer im Moduscode verwenden, wird Ihr Modellcode möglicherweise nicht in einem Kontext geladen, in dem kein Benutzer vorhanden ist (z. B. django-Konsole). –
- 1. Finde den aktuell angemeldeten Benutzer in Django
- 2. Teamcity-Eigenschaft für den aktuell angemeldeten Benutzer
- 3. Informationen über den aktuell angemeldeten Benutzer erhalten?
- 4. Eve: Endpunkt für den aktuell angemeldeten Benutzer
- 5. Den aktuell angemeldeten Benutzer im Frühling + eckig erhalten
- 6. Aktuell angemeldeten Benutzer unter Windows
- 7. Symfony2 - Injizieren Sie den aktuell angemeldeten Benutzer in einen Listener
- 8. Laravel-5.1 injiziere den aktuell angemeldeten Benutzer zu meinem Controller
- 9. Den aktuell angemeldeten Benutzer von einer Firefox-Erweiterung aus finden
- 10. Wie finde ich den aktuell angemeldeten Benutzer in Spring Boot?
- 11. Lift: Wie kann ich den aktuell angemeldeten Benutzer abrufen?
- 12. Wie bekomme ich den aktuell angemeldeten Benutzernamen?
- 13. So weisen Sie den aktuell angemeldeten Benutzer als Standardwert für ein Modellfeld zu?
- 14. Wie greifen Sie auf den aktuellen Benutzereintrag im Adressbuch zu?
- 15. Symfony 3 - So legen Sie den aktuell angemeldeten Benutzer als Entität "Autor" fest
- 16. Wie kann ich den aktuell angemeldeten Benutzer-Benutzernamen im Modellfeld speichern, während ich ein Formular speichere?
- 17. Get Documents Ordnerpfad des aktuell angemeldeten Benutzers
- 18. Wie implementiert man Django Modell Audit Trail? Wie greifen Sie auf den angemeldeten Benutzer in der models save() -Methode zu?
- 19. So speichern Sie Benutzereinstellungen (Benutzername, Passwort) in einer Windows-Anwendung für den aktuell angemeldeten Benutzer
- 20. Umbraco angemeldeten Benutzer-ID
- 21. Wie bekomme ich den angemeldeten Benutzer/Benutzer eines Windows-Servers?
- 22. Wie kann ich den aktuell angemeldeten Benutzer in CAS überprüfen, bevor ich einen Benutzer lösche?
- 23. Abrufen des aktuell angemeldeten Benutzers (FullToken Context)
- 24. Entwerfen von URI für den aktuell angemeldeten Benutzer in REST-Anwendungen
- 25. Wie bekomme ich eine Liste von Rollen für den aktuell angemeldeten Benutzer
- 26. Von AWS SDK, wie bekomme ich den aktuell angemeldeten Benutzernamen (oder IAM-Benutzer)?
- 27. Umgang mit verschiedenen Datenbanken mit LINQ basierend auf dem aktuell angemeldeten Benutzer?
- 28. Wie stelle ich in Django ein Benutzerfeld in Form für den aktuell angemeldeten Benutzer ein?
- 29. Symfony2: Wie validiere ich eine Entität, indem ich den aktuell angemeldeten Benutzer berücksichtige?
- 30. Wie greifen Sie auf den Inhalt eines ASP.NET-Steuerelements zu?
Ich bin ziemlich sicher, dass dies in Teil 1 oder 2 des Tutorials behandelt wird. – Sayse
@Sayse Es ist absolut klar, wie man von den Ansichten oder Vorlagen auf das Benutzerobjekt zugreift. Aber ich habe separate utils.py Datei mit unterstützenden Funktionen, wo einige von ihnen Zugriff auf Benutzerobjekt erfordern. Wenn Sie immer noch denken, ich vermisse das aus dem Tutorial, zeigen Sie bitte – AmirM