Форма Django не работает или CSRF_token отменен

Здравствуйте, я делаю Django App. У меня проблема с формой входа в систему. Всякий раз, когда я хочу войти в систему, форма ничего не делает или выдает ошибку csrf token. Просмотров:

def loginView(request):
    if request.method == 'POST':
        form = AuthenticationForm(request.POST)
        if form.is_valid():
            form.save()
            username = form.cleaned_data.get('username')
            messages.success(request, f"You successfully logged in {username}")
            return redirect('home-page')
    else:
        form = AuthenticationForm()
    return render(request, 'shop/login.html', {'form': form})

HTML TEMPLATE:

{% extends 'shop/base.html' %}

{% block content %}
<div class = "form-container"> 
    <form class="form" method="POST">{% csrf_token %}
        <label for="username">Email:</label>
        {{form.username}}
        <label for="password">Passoword:</label>
        {{form.password}}
        <button type="submit">Login</button>
    </form>
</div>
{% endblock content %}

вы должны проверить, существует ли пользователь или нет в базе данных, если да, то войти в систему и перенаправить, если нет, то выбросить ошибку или перенаправить на другую страницу

def my_login(request):
    if request.method == 'POST':
        form = AuthenticationForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data["username"]
            password = form.cleaned_data["password"]
            user = authenticate(username=username, password=password)
            if user:
                login(request, user)
                return redirect('path')
            else:
                return redirect('path')
        else:
            return redirect('path')
    else:
        form = AuthenticationForm()
        return render(request, "shop/login.html", {'form': form})

все еще получаем ошибку добавьте полный трассировщик & я также советую вам прочитать полную документацию по django https://docs.djangoproject.com/en/3.2/ref/contrib/auth/

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