2016-10-30 4 views
-2

Ich habe mein Benutzermodell mit einem Profilmodell erweitert (Gehäuse Bilder, Informationen usw.). Ich habe dies getan, wie durch die Definition die Beziehung in Profil folgt wie:Zugriff auf Benutzer 'erweiterte Modelle' in Vorlage

user = models.OneToOneField(User, related_name='profile') 

Ist es möglich, diese direkt in meiner Vorlage zu ziehen, ohne es aus der Sicht (über Kontext), das jedes Mal? Etwas wie folgt aus:

{{ request.user.profile.picture }} 

(Die oben nicht für mich arbeiten)

Während ich dies in der Basisvorlage verwenden wollen, ich will nicht, dass es in jeder Ansicht zu übergeben.

+2

Was meinen Sie mit "funktioniert nicht"? Bitte ausführlicher ... – Selcuk

Antwort

0

Django setzt User Objekt standardmäßig in Vorlagenkontext, was bedeutet, dass Sie auf Benutzer wie {{ user }} zugreifen können. Mit Vorlagen können Sie auf verwandte Objekte zugreifen. Um also ein Profilbild eines Benutzers zu erhalten, tun Sie einfach {{ user.profile.picture }}. Wenn dies nichts zurückgibt, stellen Sie sicher, dass Ihr Benutzer ein Profil hat und das Bildfeld des Profils nicht leer ist.

Verwandte Themen