Sunday, June 28, 2020

CSRF verification failed, 'CSRF token missing or incorrect'

When I try to submit a Django form with username and password, I get this error message:
'CSRF token missing or incorrect'.

The CSRF token is not missing at least.
Here is where I included it in my form in my .html template:

In **index.html:**

    <form name="loginform" action="/notes/index/" method="post">{% csrf_token %}
        {{ form.as_p }}
        <input type="submit"/>
        {% for field, errors in form.errors.items %}
            {{ errors }}
       {% endfor %}
    </form>

In **views.py:**


    class LoginForm(forms.Form):
        username = forms.EmailField()
        password = forms.CharField(widget=forms.PasswordInput())

    def index(request):
         if request.method == 'POST':
         print("Received POST")
         form = LoginForm(request.POST)
         if form.is_valid():
            print("FORM is Valid")
         else:
            print("FORM is NOT VALID")
        template = loader.get_template('index.html')
        context = {
           'username': 'Benny',
           'form': LoginForm(),
        }
        return HttpResponse(template.render(context))

I tried adding @ensure_csrf_protect and @csrf_protect, but none of these worked. I also have csrf middleware in settings. I am trying to avoid using @csrf_exempt as this app will go into production down the line.

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/11e4049b-cf04-4144-ad07-928c884ed812o%40googlegroups.com.

No comments:

Post a Comment