Установка PASSWORD_HASHERS в Django

У меня ошибка, когда я пытаюсь войти в систему любым пользователем ошибка

Неизвестный алгоритм хэширования пароля "sahar". Вы указали это в Настройка PASSWORD_HASHERS?

Views.Py

def Login(request):
    state = "Please log in below..."
    username = password = ''
    if request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password']
        user = authenticate(username=username, password=password)
        if user is not None:
                if user.is_active:
                    login(request, user)
                    return HttpResponseRedirect('/profile/')
                else:
                    return render_to_response('auth.html',RequestContext(request))

        else:
                return render_to_response('auth.html',RequestContext(request))
    else:
            return render_to_response('auth.html',RequestContext(request)

Ответ 1

Это означает, что есть обычный текст 'sahar', который хранится в качестве пароля учетной записи пользователя, который пытается войти в систему.
Обновите пароль пользователя в Admin или в manage.py shell

user = User.objects.get(username=username)

# use set_password method
user.set_password('sahar')
user.save()

# INSTEAD OF 
user.password = 'sahar'
user.save()

Также проверьте свои другие представления, чтобы исправить действия user.password = '...' и User.objects.create(password='...').

Ответ 2

Это лучший способ сохранить данные журнала вы можете создать объект из формы как

user = form.save(commit=False)

, затем очистите данные, чтобы удалить любые скрипты, введенные в поля формы.

username = form.cleaned_data['username']
password = form.cleaned_data['password']
user.set_password(password)
user.save()