Python django开放id:CSRF验证失败
我放弃了这个SO问题中的建议:并为我的应用程序安装了Python django开放id:CSRF验证失败,python,django,django-csrf,django-openid-auth,Python,Django,Django Csrf,Django Openid Auth,我放弃了这个SO问题中的建议:并为我的应用程序安装了django openid auth 但我就是不能让它工作,我总是得到CSRF验证失败。请求中止。当我尝试登录时 我已经检查了所有内容: 1. {%csrf\u令牌%}存在于模板中: <form name="fopenid" action="{{ action }}" method="post"> {% csrf_token %} <fieldset> <legend>Sig
django openid auth
但我就是不能让它工作,我总是得到CSRF验证失败。请求中止。
当我尝试登录时
我已经检查了所有内容:
1.
{%csrf\u令牌%}
存在于模板中:
<form name="fopenid" action="{{ action }}" method="post">
{% csrf_token %}
<fieldset>
<legend>Sign In Using Your OpenID</legend>
<div class="form-row">
<label for="id_openid_identifier">OpenID:</label><br />
{{ form.openid_identifier }}
</div>
<div class="submit-row ">
<input name="bsignin" type="submit" value="Log in">
</div>
{% if next %}
<input type="hidden" name="next" value="{{ next }}" />
{% endif %}
</fieldset>
</form>
3.
我的MIDDLEWARE\u类
包含CsrfViewMiddleware
:
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',
)
我只是不明白还有什么不对劲?你有什么想法吗
我正在使用Django 1.3测试版
更新
这似乎是我的全球问题。我创建了一个简单的表单,得到了相同的结果:
def index(request):
return render_to_response('index.html',
locals(),
context_instance=RequestContext(request))
index.html:
<form action="/" method="post">
{% csrf_token %}
<input type="text" name="test">
<input type="submit">
</form>
{%csrf_令牌%}
呈现的HTML:
<form action="/" method="post">
<div style="display:none"><input type="hidden" name="csrfmiddlewaretoken" value="1fbd5345560d325bf05809260f7d43c3"></div>
<input type="text" name="test">
<input type="submit">
</form>
怎么了 事实上,我想这是我在Django遇到的第一个bug。我已经将我的副本更新为1.3的最新版本,一切都开始工作了。干得好,Django开发者 事实上,我想这是我在Django遇到的第一个bug。我已经将我的副本更新为1.3的最新版本,一切都开始工作了。干得好,Django开发者 我尝试了“manage.py runserver localhost:8000”而不是“manage.py runserver”,结果成功了 我猜它有一些cookie问题,因为主机名中有ip 顺便说一句,我在django 1.3的新副本中遇到了这个错误,我尝试了“manage.py runserver localhost:8000”而不是“manage.py runserver”,结果成功了 我猜它有一些cookie问题,因为主机名中有ip 顺便说一句,我在django 1.3的新版本中遇到了这个错误
<form action="/" method="post">
<div style="display:none"><input type="hidden" name="csrfmiddlewaretoken" value="1fbd5345560d325bf05809260f7d43c3"></div>
<input type="text" name="test">
<input type="submit">
</form>