У меня есть форма входа в мой проект.Когда я пишу правильное имя пользователя и пароль, он не публикует мой запрос, и область моего браузера выглядит так: http://127.0.0.1:8000/user/login/?csrfmiddlewaretoken=EukLSCRC5B25iBrDXqVsQ7iyF2FUUhgrldri2MIrb3IM8f4dMngo66tciJkmfNYt&username=admin&password=123 (потому что мое имя пользователя: admin, pass: 123)
Я пытался изменить "формуМетод "POST для публикации в шаблоне входа в HTML, но не работает.И я удалил csrf_token, но на самом деле снова не работает.
forms.py
class LoginForm(forms.Form):
username = forms.CharField(label = "Username")
password = forms.CharField(label = "Password", widget=forms.PasswordInput)
views.py
def loginUser(request):
form = LoginForm(request.POST or None)
context = {
"form": form
}
if form.is_valid():
username = form.cleaned_data.get("username")
password = form.cleaned_data.get("password")
user = authenticate(username = username, password=password)
if user is None:
messages.info(request,"Username or Password is incorrect! Try again.")
return render(request,"login.html", context)
messages.success(request,"Login successful! Welcome honey.")
login(request,user)
return redirect("index")
return render(request,"login.html",context)
urls.py
app_name = "user"
urlpatterns = [
path('register/',views.register, name ="register"),
path('login/',views.loginUser, name ="login"),
path('logout/',views.logoutUser, name ="logout"),
]
login.html
{% extends "layout.html" %}
{% block body %}
{% load crispy_forms_tags %}
<div class="row">
<div class="col-md-6 offset-md-3">
<h3>Login</h3>
<hr>
<form method = "post">
{% csrf_token %}
{{form|crispy}}
<button type = "submit" class = "btn btn-danger">Sign In</button>
</form>
</div>
</div>
{% endblock %}
В области браузера отображается: http://127.0.0.1:8000/user/login/?csrfmiddlewaretoken=EukLSCRC5B25iBrDXqVsQ7iyF2FUUhgrldri2MIrb3IM8f4dMngo66tciJkmfNYt&username=admin&password=123 (потому что мое имя пользователя: admin, пароль: 123)