Как использовать форму входа в 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>

Docs

Вернуться на верх