解决跨域form表单post提交时Forbidden的问题。


我最近遇到一个问题,就是使用母版时,在主母版下有一个模态框,在子模板中(具体页)调用了这个模态框,并且这个模态框是form表单post的提交,当然一定要设置{% csrf_token %}的,但是通过ajax提交后,系统提示Forbidden (CSRF token missing or incorrect.):/management/manage_news/ (后面是路由地址)。

这就是跨域调用的问题了,通过两个方法来解决这个错误。

 

方法一:在类的 dispatch 方法上使用 @csrf_exempt

#在view.py视图中
from django.views.decorators.csrf import csrf_exempt

 @csrf_exempt
 def yourfunction(request): #跨域调用所对应的后端视图方法
        pass
    return render(request, 'index.html')

方法二:在 urls.py 中配置

from django.conf.urls import url
from django.views.decorators.csrf import csrf_exempt
import views

urlpatterns = [
    url(r'^myview/$', csrf_exempt(views.MyView.as_view()), name='myview'),
]

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM