Как позволить пользователям изменять свои собственные пароли в Django?

Мне нравится создавать команды с эхо и передавать их по каналу к оболочке:

$ find dir -name \*~ | xargs echo rm
...
$ find dir -name \*~ | xargs echo rm | ksh -s

, Почему? Поскольку это позволяет мне смотреть на то, что будет сделанным, прежде чем я сделаю это. Тот путь, если у меня есть ужасная ошибка (как удаление моего корневого каталога), я могу поймать его, прежде чем это произойдет. Очевидно, это является самым важным для разрушительных или безвозвратных действий.

76
задан Ciro Santilli 新疆改造中心法轮功六四事件 12 May 2016 в 20:35
поделиться

2 ответа

Django поставляется с пользователем система аутентификации. Он обрабатывает пользователя учетные записи, группы, разрешения и пользовательские сеансы на основе файлов cookie. Эта документ объясняет, как все работает.

Как изменить пароли Django

См. раздел Изменение паролей

  1. Переход к вашему проекту, где находится файл manage.py

  2. $ python manage.py shell

  3. введите ниже скрипты:

from django.contrib.auth.models import User
u = User.objects.get(username__exact='john')
u.set_password('new password')
u.save()

Вы также можете использовать простую команду manage.py :

manage.py changepassword * username *

Просто введите новый пароль дважды.

из раздела Изменение паролей в документации.


Если у вас есть django.contrib.admin в вашем INSTALLED_APPS , вы можно посетить: example.com/path-to-admin/password_change/ , где будет форма для подтверждения вашего старого пароля и ввода нового пароля дважды.

143
ответ дан 24 November 2019 в 11:13
поделиться

Вы также можете просто использовать представление django.contrib.auth.views.password_change в вашем URLconf. Он использует форму и шаблон по умолчанию; поставлять свои собственные необязательно.

25
ответ дан 24 November 2019 в 11:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: