Сброс URL-адреса Django после сбоя аутентификацииPython

Программы на Python
Anonymous
Сброс URL-адреса Django после сбоя аутентификации

Сообщение Anonymous »

Код: Выделить всё

    if user is not None:
login(request, user)
return redirect('home')
else:
error_message = "Invalid username or password."
return render(request, 'login.html', {'error_message': error_message})
Используя приведенный выше код, если пользователь вводит неправильные учетные данные, файл login.html успешно отображается с сообщением об ошибке.
Но теперь URL-адрес — http: //localhost:8000/authentication_view/.
Теперь, если пользователь повторно вводит учетные данные, URL-адрес будет
http://localhost:8000/authentication_vi ... tion_view/,
и это создает ошибку «Страница не найдена».

Код: Выделить всё

If I use return redirect('login_view'), then the error message will not show.
Может ли кто-нибудь помочь мне, как отобразить страницу входа с сообщением об ошибке, не добавляя представление аутентификации к URL-адресу?
Я ожидал: если пользователь введет неправильный адрес учетные данные, он получает сообщение об ошибке и возвращается на страницу входа в систему. Теперь он может повторно ввести учетные данные. Но теперь страница входа недоступна, поскольку имя представления аутентификации уже добавлено в URL-адрес. При новой попытке входа имя представления аутентификации будет добавлено в два раза больше URL-адреса.

Подробнее здесь: https://stackoverflow.com/questions/788 ... ation-fail

Вернуться в «Python»