Ich habe django Builtin Benutzermodell erweitert. Ich verwende derzeit django 1.10.Wie erweiterte Benutzer benutzerdefinierte Felder in Django Vorlage erhalten?
Ich versuche, Benutzername, short_name in Vorlage anzuzeigen. Anmerkung: short_name ist Feld
erweitert<span> {{ request.user.profile.username }} </span>
<span> {{ user.profile.username }} </span>
{{ user.get_username }}
{{ user.username }}
diese Template-Tag funktioniert nicht für django 1.10
ich diesen Link zum Erstellen von benutzerdefinierten Benutzermodell verwendet haben https://simpleisbetterthancomplex.com/tutorial/2016/07/22/how-to-extend-django-user-model.html
dies mit Ich möchte Rolle angezeigt werden basierter Inhalt.
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
employee_name = models.CharField(max_length=50)
short_name = models.CharField(max_length=50)
access = (
('admin', 'admin'),
('director', 'director'),
('management', 'management'),
('employee', 'employee'),
)
access_control = models.CharField(max_length=50, choices=access)
YES_NO = (
('yes', 'Yes'),
('no', 'No'),
)
active = models.CharField(max_length=50, choices=YES_NO)
unten Linien in den Einstellungen hinzugefügt:
AUTH_PROFILE_MODULE = "user_login.UserProfile"
TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.request',
"django.contrib.auth.context_processors.auth",
)
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates'), ],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
Ich habe Modelle zu user = models.OneToOneField (User, on_delete = models.CASCADE) migriert Aber auch jetzt funktioniert es nicht für mich auch {{request.user.username}} das funktioniert nicht. Muss ich mehr als nur einen Kontext an die Vorlage senden? – Hariprasad
muss '{{request.user.userprofile.short_name}}' sein, wenn Sie '{{request.user.username}}' verwenden, beziehen Sie sich auf das Feld username des Benutzermodells –