Я впервые пытаюсь реализовать аутентификацию для Django.
Я создаю часть для входа в систему, следуя официальному руководству Django 2. Однако у меня возникла эта проблема:
Exception Type: MultiValueDictKeyError Exception Value: 'username'
Я создал приложение под названием «Аккаунты».Внутри него у меня есть следующее:
В accounts / views.py:
from django.shortcuts import render, redirect
from django.contrib.auth.models import User
from django.contrib.auth import authenticate, login, logout
def login(request):
username = request.POST['username']
password = request.POST['password']
user = authenticate(request, username=username, password=password)
if user is not None:
return redirect('home')
else:
return render(request, "accounts/login.html")
В шаблонах / accounts.html:
{% extends 'mysite/base.html' %}
{% block content %}
<h1>Login</h1>
<form method="POST" action="{% url 'login' %}">
{% csrf_token %}
Username:
<br>
<input type="text" name="username" />
<br>
Password:
<br />
<input type="password" name="password" />
<br>
<br>
<input class="btn btn-primary" type="submit" value="Sign Up!" />
</form>
{% endblock %}
В URL.py (моего "аккаунта" приложения, а не проекта):
from django.urls import path, include
from . import views
urlpatterns = [
path("signup/", views.signup, name="signup"),
path("login/", views.login, name="login"),
path("logout/", views.logout, name="logout"),
]