django 解決cors問題

AFei0018-博客

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

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!問題解決!html

其餘解決方案

另外還從網上看到其餘兩種解決方案,但都不太合適。在此列出,供你們參考前端

1.使用JSONP

使用Ajax獲取json數據時,存在跨域的限制。不過,在Web頁面上調用js的script腳本文件時卻不受跨域的影響,JSONP就是利用這個來實現跨域的傳輸。所以,咱們須要將Ajax調用中的dataType從JSON改成JSONP(相應的API也須要支持JSONP)格式。 
JSONP只能用於GET請求。vue

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 responsejava

版權聲明:本文爲博主原創文章,未經博主容許不得轉載。 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萬程序員共同成長!
 
相關文章
相關標籤/搜索