Попытка аутентификации логина, отправка ничего не произошло

login.html в (authenticate/login.html)

{% extends "events/base.html" %}

{% block content %} 
<h1>Login</h1>
<br><br>
<form action="" method="POST">
  {% csrf_token %}

  <form>
    <div class="mb-3">
      <label for="exampleInputUserName" class="form-label">User name</label>
      <input type="text" class="form-control" name="username">
    </div>
    <div class="mb-3">
      <label for="exampleInputPassword1" class="form-label">Password</label>
      <input type="password" class="form-control" name="password">
    </div>
  </form>

  <input type="submit" value="Submit" class="btn btn-secondary">
</form>

<br><br>
{% endblock content %}

при нажатии на кнопку отправки ничего не произошло

urls.py in (events)

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name='home'),
]

urls.py in (members)

from django.urls import path
from . import views

urlpatterns = [
    path('login_user/', views.login_user, name='login'),
]

urls.py in (myclub_webesite)

rom django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('events.urls')),
    path('members/', include('django.contrib.auth.urls')),
    path('members/', include('members.urls')),
]

views.py in (members)

from django.shortcuts import render, redirect
from django.contrib.auth import authenticate, login, logout
from django.contrib import messages


def login_user(request):
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')
        user = authenticate(request, username=username, password=password)
        if user is not None:
            login(request, user)
            return redirect('home')
        else:
            messages.success(
                request, ("There Was An Error Logging In, Try Again..."))
            return redirect('login')
    else:
        return render(request, 'authenticate/login.html', {})

настройки помещаются в члены Я пробовал использовать другой код имя пользователя = request.POST['username'] пароль = request.POST['password'] и тоже ничего не произошло

В теге формы определите соответствующий метод API:

<form method='POST'>
.
.
.
</form>
<input type="submit" class="btn btn-secondary">
### You have used 2 form tag so there was an error  

    {% extends "events/base.html" %}
    
    {% block content %} 
    <h1>Login</h1>
    <br><br>
    <form action="" method="POST">
      {% csrf_token %}
    
     
        <div class="mb-3">
          <label for="exampleInputUserName" class="form-label">User name</label>
          <input type="text" class="form-control" name="username">
        </div>
        <div class="mb-3">
          <label for="exampleInputPassword1" class="form-label">Password</label>
          <input type="password" class="form-control" name="password">
        </div>
    
      <input type="submit" value="Submit" class="btn btn-secondary">
    </form>
    
    <br><br>
    {% endblock content %}

Views.py Я меняю сообщение об успехе на сообщение об ошибке, потому что если есть ошибка, то пользователь увидит сообщение об ошибке, а не об успехе

from django.shortcuts import render, redirect
from django.contrib.auth import authenticate, login, logout
from django.contrib import messages


def login_user(request):
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')
        user = authenticate(request, username=username, password=password)
        if user is not None:
            login(request, user)
            return redirect('home')
        else:
            ### success -> error 
            messages.error(
                request, ("There Was An Error Logging In, Try Again..."))
            return redirect('login')
    else:
        return render(request, 'authenticate/login.html', {})
Вернуться на верх