РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
545 of 818 menu

Метод set_password

Метод set_password применяется к экземпляру модели User и устанавливает новый пароль для пользователя, автоматически преобразуя его в хешированный вид с использованием алгоритмов хеширования паролей Django. Метод принимает один обязательный аргумент - новый пароль в виде строки, и не возвращает никакого значения. Важно помнить, что после вызова метода необходимо сохранить объект с помощью save для применения изменений в базе данных.

Синтаксис

user.set_password(raw_password)

Пример

Давайте создадим нового пользователя и установим ему пароль:

from django.contrib.auth.models import User # Create new user user = User.objects.create_user(username='john') user.set_password('secret_password_123') user.save() print(f"User {user.username} password set successfully")

Результат выполнения кода:

"User john password set successfully"

Пример

Давайте изменим пароль у существующего пользователя и проверим, что хеш изменился:

from django.contrib.auth.models import User # Get existing user user = User.objects.get(username='john') # Store old password hash old_hash = user.password # Set new password user.set_password('new_secure_password_456') user.save() # Check if hash changed print(f"Password hash changed: {old_hash != user.password}")

Результат выполнения кода:

"Password hash changed: True"

Пример

Давайте создадим суперпользователя и установим ему пароль, а затем проверим его с помощью метода check_password:

from django.contrib.auth.models import User # Create superuser user = User.objects.create_superuser( username='admin', email='admin@example.com' ) user.set_password('admin_password_789') user.save() # Check password is_valid = user.check_password('admin_password_789') print(f"Is password valid: {is_valid}") # Try wrong password is_valid_wrong = user.check_password('wrong_password') print(f"Is wrong password valid: {is_valid_wrong}")

Результат выполнения кода:

"Is password valid: True" "Is wrong password valid: False"

Смотрите также

  • метод check_password,
    который проверяет соответствие пароля хешу пользователя
  • метод create_user,
    который создаёт нового пользователя с указанным паролем
  • функция authenticate,
    которая аутентифицирует пользователя по логину и паролю
  • функция update_session_auth_hash,
    которая обновляет сессию после смены пароля
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить