I’m new to Django and trying to build a simple login system for my webpage using django.contrib.auth.views.login with Django 1.4. I have a base template containing the following login form which is then extended by other template pages on my website:
<form method="post" action="/accounts/login/">
{% csrf_token %}
<p><label for="id_username">Username:</label> <input id="id_username" type="text" name="username" maxlength="30" /></p>
<p><label for="id_password">Password:</label> <input type="password" name="password" id="id_password" /></p>
<input type="submit" value="Log in" />
<input type="hidden" name="next" value="{{ request.get_full_path }}" />
</form>
However when I try to login I get the following message:
“Forbidden (403)
CSRF verification failed. Request aborted. Reason given for failure:
CSRF token missing or incorrect.”
Relevant snippets from urls.py:
url(r'^accounts/login/$', 'django.contrib.auth.views.login')
and settings.py:
TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.request',
)
.....
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
)
.....
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)
Any suggestions?
simple login/logout system could be find here
Let me briefly explain how to use standard auth through the user model in Django:
appname/views.py:
urls.py:
settings.py:
templates/registration/login.html:
templates/base.html:
templates/mainmenu.html:
templates/stat_info.html: