gpt4 book ai didi

python - django-open-id : CSRF verification failed

转载 作者:太空宇宙 更新时间:2023-11-03 19:31:49 27 4
gpt4 key购买 nike

我在这个问题中提出了建议:What's the best solution for OpenID with Django?并为我的应用程序安装了 django-openid-auth。

但我就是无法让它工作,我总是得到CSRF验证失败。请求被中止。当我尝试登录时。

django csrf

我已经检查了所有内容:

1.

{% csrf_token %} 出现在模板中:

<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>

2.

django_openid_auth内的views.py中,我发现它们使用RequestContext:

return render_to_response(template_name, {
'form': login_form,
redirect_field_name: redirect_to
}, context_instance=RequestContext(request))

3.

我的MIDDLEWARE_CLASSES确实包含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 beta。

更新

这似乎是我的全局问题。我创建了一个简单的表单并得到了相同的结果:

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>

渲染的 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>

怎么了!?

最佳答案

我尝试了“manage.py runserver localhost:8000”而不是“manage.py runserver”并且它有效我的猜测是由于主机名中的 ip 导致它存在一些 cookie 问题顺便提一句。我在使用 django 1.3 的新副本时遇到此错误

关于python - django-open-id : CSRF verification failed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5431010/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com