0

HTML:

{% extends 'generic.html' %}
{% load static %}

{% block title %}
<title>Projects - Login</title>
{% endblock %}
{% block content %}
<form action='#', method='post'>
    {% csrf_token %}
    <label for="username">Username</label>
    <input type="text" name="username" id="username">
    <label for="password">Password</label>
    <input type="password" name="password" id="password">
    <input type='submit' value='Login!'>
</form>
{% endblock %}

views.py:

def login(request):
    return render(request, 'login.html')

urls.py:

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

I have tried putting a @csrf_protect decorator on the login function. however I still get the same error.

user15178581
  • 57
  • 1
  • 4

1 Answers1

0

Change the form in your template:

<form action="{% url 'your_app_name:login' %}" method="post">
  {% csrf_token %}
...
</form>

or,

<form action="login/" method="post">
  {% csrf_token %}
...
</form>
Lavande
  • 744
  • 8
  • 20