Django поставляется с некоторыми процессорами контекста шаблона - просто функциями, которые вставляют переменные в каждый шаблон, отображаемый на вашем сайте.
Как утверждает @Jack, один из них называется django.core.context_processors.auth
.Это вставляет переменную с именем user
в каждый шаблон и по умолчанию включена.
Поэтому, чтобы узнать, вошел ли пользователь в систему или нет, вы должны использовать этот код в своих шаблонах:
{% if user.is_authenticated %}
You're logged in.
{% else %}
You're not logged in.
{% endif %}
Проблема с использованием кода, который дал Джек, состоит в том, что user
переменная всегда существует - так что она всегда будет иметь значение True
(при условии, что вы используете django.core.context_processors.request
процессор контекста, который не включен по умолчанию).Поэтому, чтобы узнать, действительно ли пользователь вошел в систему, вы должны использовать метод is_authenticated()
.