Как использовать форму входа в Django (Python)?
Я создал форму входа в Django. Теперь у меня возникла проблема с маршрутизацией. Когда я выбираю кнопку входа, форма не отправляет правильный awnser. Я думаю, что форма во фронтенде не может получить правильный awnser из файла view.py. Поэтому она не посылает никакого awnser и процесс входа не может работать. форма является простой статической html-формой.
Надеюсь, вы сможете мне помочь.
HTML:
<form class="windowlogscreen-content" method="POST">
{% csrf_token %}
<input type="text" placeholder="account" name="username">
<br>
<input type="password" placeholder="password" name="password">
<br>
<button style="margin: 20px;" type="submit">join</button>
</div>
</div>
</form>
views.py
def loginuser(request):
if request.method == "POST":
username = request.POST['accountName']
password = request.POST['accountPassword']
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
return views.homepage
else:
return redirect('start')
else:
return render(request, 'start', {})
urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('', start),
path('homepage/', include('homepage.urls'))
]
Домашняя страница urls.py
urlpatterns = [
path('login/', views.login, name="login"),
path('register/', views.register, name="register"),
path('', views.homepage, name="homepage"),
path('account/', views.account, name="account")
]
def login(request):
if request.method = 'POST':
username = request.POST['username']
password = request.method = POST['password']
user = auth.authenticate(username=username, password=password)
if user is not None:
auth.login(request, user)
return redirect(#User to the dashboard!)
else:
message.info(request, "invalid credentials")
return redirect('login')
else:
return render(request, 'login.html')
Login.html:
<form method="POST" action="{% url 'login' %}">
{% csrf_token %}
<div class="form-group">
<label class="text-primary text-dark font-weight-bold">Enter Username</label>
<input type="text" class="form-control" name="username" placeholder="Enter Username">
</div>
<br>
<div class="form-group">
<label class="text-primary text-dark font-weight-bold">Enter Password</label>
<input type="password" class="form-control" name="password" placeholder="Enter Password">
</div>
<br>
<button type="submit" class="btn btn-primary btn-lg">Log in</button>
</form>