Проверка наличия пароля у пользователя Django


Я настраиваю оператор if, чтобы узнать, установлен ли пароль текущего пользователя. По какой-то причине это просто не сработает. Я пытался:

{% if not user.password %}
{% if user.password == None %}
{% if user.password is None %}

У меня есть 2 учетные записи пользователей (открыты в разных браузерах), одна с паролем в одном, а другая без пароля в другом. Когда я использую приведенные выше инструкции, я получаю одинаковое отображение в обоих браузерах. Что я делаю не так?

1 13

1 ответ:

Use user.has_usable_password

>>> a = User.objects.create_user('user1', 'user1@example.com')
>>> b = User.objects.create_user('user2', 'user2@example.com', password='secret')
>>> a.has_usable_password()
False
>>> b.has_usable_password()
True