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

本文介绍了解决在使用模态框进行form表单post提交时遇到的CSRF跨域调用问题的两种方法:一是通过在视图方法上使用@csrf_exempt装饰器;二是通过在urls.py中配置@csrf_exempt。
摘要由CSDN通过智能技术生成

我最近遇到一个问题,就是使用母版时,在主母版下有一个模态框,在子模板中(具体页)调用了这个模态框,并且这个模态框是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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值