django解決跨域請求的問題

2021-09-11 08:51:27 字數 1470 閱讀 7111

解決方案

1.安裝django-cors-headers

pip3 install django-cors-headers

2.配置settings.py檔案[.

..'corsheaders',

...] middleware_classes =(.

..'corsheaders.middleware.corsmiddleware'

,'django.middleware.common.commonmiddleware'

,# 注意順序..

.)#跨域增加忽略

cors_allow_credentials =

true

cors_origin_allow_all =

true

cors_origin_whitelist =

('*'

#請求的網域名稱

ok!問題解決!

其他解決方案

1.使用jsonp

使用ajax獲取json資料時,存在跨域的限制。不過,在web頁面上呼叫js的script指令碼檔案時卻不受跨域的影響,jsonp就是利用這個來實現跨域的傳輸。因此,我們需要將ajax呼叫中的datatype從json改為jsonp(相應的api也需要支援jsonp)格式。

jsonp只能用於get請求。

2.直接修改django中的views.py檔案

修改views.py中對應api的實現函式,允許其他域通過ajax請求資料:

解決Django跨域請求問題

pip install django cors headers 新增應用 corsheaders 新增中介軟體 middleware corsheaders.middleware.corsmiddleware 建議加在第一行,必須在csrfviewmiddleware之前 設定全域性跨域 cors ...

django解決跨域請求的問題

pip install django cors headers.corsheaders middleware classes corsheaders.middleware.corsmiddleware django.middleware.common.commonmiddleware 注意順序 跨域...

Django解決跨域請求的問題

pip install django cors headers jdango查詢中介軟體由上到下,注意要放到 commonmiddleware 上面 middleware django.middleware.security.securitymiddleware django.contrib.ses...