您的位置:首页 > 产品设计 > UI/UE

Django 403错误:CSRF verification failed. Request aborted.

2014-10-22 22:27 483 查看
先说明,我的django版本为1.4

解决方法,一共三步,在debug错误信息里面已经指出:

1.使用requestcontext

from django.template import RequestContext





return render_to_response('my_template.html',

                              my_data_dictionary,
                              context_instance=RequestContext(request))

或: c = RequestContext(request, {

        'foo': 'bar',

    }, [ip_address_processor])

    return HttpResponse(t.render(c))

2.使用在post表单中使用{% csrf_token %}标签

<form action="/contact/" method="post">
    {% csrf_token %}
    <p>Subject: <input type="text" name="subject" /></p>
    <p>Your e-main (optional): <input type="text" name="email" /></p>
    <p>Message: <textarea name="message" rows="10" cols="50"></textarea></p>
    <input type="submit" value="Submit" />
</form>

3.setting.py中加入'django.middleware.csrf.CsrfViewMiddleware',

注:浏览器需要接受cookies,第三步如果不执行,则需要在post表单对应视图头部加入@csrf_protect
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息