django 解決cors問題


AFei0018-博客

窮則思變,差則思勤。Python技術交流|求職招聘群:551022575

django解決跨域請求的問題

django解決跨域請求的問題

解決方案

1.安裝django-cors-headers

pip install django-cors-headers
  • 1

2.配置settings.py文件

INSTALLED_APPS = [
    ...
    'corsheaders', ... ] MIDDLEWARE_CLASSES = ( ... 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', # 注意順序 ... ) #跨域增加忽略 CORS_ALLOW_CREDENTIALS = True CORS_ORIGIN_ALLOW_ALL = True CORS_ORIGIN_WHITELIST = ( '*' ) CORS_ALLOW_METHODS = ( 'DELETE', 'GET', 'OPTIONS', 'PATCH', 'POST', 'PUT', 'VIEW', ) CORS_ALLOW_HEADERS = ( 'XMLHttpRequest', 'X_FILENAME', 'accept-encoding', 'authorization', 'content-type', 'dnt', 'origin', 'user-agent', 'x-csrftoken', 'x-requested-with', 'Pragma', ) 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43

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請求數據: 
def myview(_request): 
response = HttpResponse(json.dumps({“key”: “value”, “key2”: “value”})) 
response[“Access-Control-Allow-Origin”] = “*” 
response[“Access-Control-Allow-Methods”] = “POST, GET, OPTIONS” 
response[“Access-Control-Max-Age”] = “1000” 
response[“Access-Control-Allow-Headers”] = “*” 
return response

版權聲明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/apple9005/article/details/54427902
文章標簽: django跨域請求
個人分類: pythondjango
想對作者說點什么?  我來說一句
  • u012695283
    Tyler_ 2018-04-18 15:35:44#5樓
    “我們需要將Ajax調用中的dataType從JSON改為JSONP(相應的API也需要支持JSONP)格式。” 括號里那句話把我從夢中驚醒!!!謝謝您!!
     
  • yyy72999
    小恩阿 2018-03-09 15:55:17#4樓
    難得評論,這個方法很管用 本人用的是 React + Antd + Django ajax 用的axios options方法請求 可以!
     
  • Ashimar_a
    Ashimar_ZHZ 2017-11-10 11:33:12#3樓
    謝謝博主分享
     
  • s1054436218
    Unname_Bao 2017-10-28 16:03:37#2樓
    添加也沒用
     
定了! 中國重工 加速重組,3股有望逆市大漲!(附名單)磐公股市 · 頂新
定金1元抵618京東

個人資料

原創
84
粉絲
17
喜歡
92
評論
34
等級:
 
訪問:
 
16萬+
積分:
 
2520
排名:
 
1萬+
勛章:

最新評論

加入CSDN,享受更精准的內容推薦,與500萬程序員共同成長!
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM