В этом случае вы можете использовать пользовательские контекстные процессоры Django для шаблона.
Создайте файл context_processors.py
в вашей основной папке приложения, который будет содержать ваш пользовательский объект, например так:
def user(request):
return {'user': {'email': request.user.email if request.user.is_authenticated else None}}
Затем в файле settings.py
добавьте имя ваших контекстных процессоров в список context_processors
, например:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['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',
'myapp.context_processors.user', # This is our custom context processors
],
},
},
]
Теперь вы можете получить доступ к электронной почте пользователя во всех шаблонах с этим синтаксисом,{{ user.email }}