403-In general, this can occur when there is a genuine Cross Site Request Forgery, or whe

来源:互联网 发布:2017淘宝永久封店解封 编辑:程序博客网 时间:2024/06/05 02:59


解决办法

在django1.4里,就必须按照提示的步骤来:

1,在view里面,强制使用RequestContext 代替Context。示例如下:

from django.template import RequestContext   

视图返回要这样:

        return render_to_response('index.html', {
            'param1': 'aaa',
            'param2': 'bbb',
            },
            context_instance=RequestContext(request)  # here!
        )

2,在模板的form体里面,加入 {% csrf_token %},示例如下:

    <form action="login.html" method="post" >
      {% csrf_token %}  

      ……

    </form>

最后检查一下中间件里'django.middleware.csrf.CsrfViewMiddleware',是否正常开放。默认是直接开着的。

-------------------

注意,在Django 1.2(含1.2) 之前,解决办法是

在settings的中间件设置里MIDDLEWARE_CLASSES加入:

'django.middleware.csrf.CsrfResponseMiddleware',

0 0
原创粉丝点击