방금 django를 1.4로 업데이트했습니다. 로그인 양식을 제출하려고 할 때 다음 오류가 발생합니다.Django - CSRF 토큰이 없거나 잘못되었습니다.
금지됨 (403) CSRF 확인에 실패했습니다. 요청이 중단되었습니다. 실패 이유 : CSRF 토큰이 누락되었거나 잘못되었습니다. 내 settings.py (MIDDLEWARE_CLASSES)에서
나는 그 지금 사용되지 않는 때문에 다음 줄을 제거했다 :
'django.middleware.csrf.CsrfResponseMiddleware',
을 그리고 난이 오류를 얻을에 시작보다.
일부 필요한 정보 : Urls.py
url(r'^login/$', 'django.contrib.auth.views.login', {'template_name': 'registration/login.html'}, name='login')
MIDDLEWARE_CLASSES = (
'django.middleware.gzip.GZipMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
# 'django.middleware.csrf.CsrfResponseMiddleware',
'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
)
login.html
{% extends "base.html" %}
{% block title %} Login {% endblock %}
{% block content %}
<div id="text">
<table>
<form action="" method="post">
{% csrf_token %}
<tr>
<td><label for="username">Email:</label></td>
<td><input type="text" name="username" value="" id="username"></td>
</tr>
<tr>
<td><label for="password">Password:</label></td>
<td><input type="password" name="password" value="" id="password"></td>
</tr>
<tr>
<td><input type="submit" value="Login" />
{% if next %}
<input type="hidden" name="next" value="{{ next }}" /></td>
{% else %}
<input type="hidden" name="next" value="/" /></td>
{% endif %}
</tr>
</form>
</table>
{% if form.errors %}
<p class="error">User or password incorrect</p>
{% endif %}
</div>
{% endblock %}
사람이이 문제를 해결하는 방법을 알고 있습니까?
브라우저의 명확한 데이터로 해결됩니다. – chaim