Ответ 1
Альтернативный метод для текущих версий Django:
{% if user.is_authenticated %}
<p>Welcome, {{ user.get_username }}. Thanks for logging in.</p>
{% else %}
<p>Welcome, new user. Please log in.</p>
{% endif %}
Примечание:
- Используйте
request.user.get_username()
в представлениях иuser.get_username
в шаблонах. Предпочтительно использовать атрибутusername
напрямую. Источник - Эта контекстная переменная шаблона доступна, если используется RequestContext.
-
django.contrib.auth.context_processors.auth
включен по умолчанию и содержит переменную пользователя - Вам не нужно включать контекстный процессор
django.core.context_processors.request
.
Источник: https://docs.djangoproject.com/en/dev/topics/auth/default/#authentication-data-in-templates