解決跨域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