解决跨域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'),
]
原文地址:https://www.cnblogs.com/sly27/p/10680472.html