django解決跨域請(qǐng)求的問題
解決方案
1.安裝django-cors-headers
pip install django-cors-headers
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', )
OK!問題解決!
其他解決方案
另外還從網(wǎng)上看到其他兩種解決方案,但都不太合適。在此列出,供大家參考
1.使用JSONP
使用Ajax獲取json數(shù)據(jù)時(shí),存在跨域的限制。不過,在Web頁(yè)面上調(diào)用js的script腳本文件時(shí)卻不受跨域的影響,JSONP就是利用這個(gè)來實(shí)現(xiàn)跨域的傳輸。因此,我們需要將Ajax調(diào)用中的dataType從JSON改為JSONP(相應(yīng)的API也需要支持JSONP)格式。
JSONP只能用于GET請(qǐng)求。
2.直接修改Django中的views.py文件
修改views.py中對(duì)應(yīng)API的實(shí)現(xiàn)函數(shù),允許其他域通過Ajax請(qǐng)求數(shù)據(jù):
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
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 使用Flask和Django中解決跨域請(qǐng)求問題
- Django跨域請(qǐng)求原理及實(shí)現(xiàn)代碼
- 簡(jiǎn)單了解django處理跨域請(qǐng)求最佳解決方案
- Django+uni-app實(shí)現(xiàn)數(shù)據(jù)通信中的請(qǐng)求跨域的示例代碼
- django基于cors解決跨域請(qǐng)求問題詳解
- Django中使用CORS實(shí)現(xiàn)跨域請(qǐng)求過程解析
- Django實(shí)現(xiàn)跨域請(qǐng)求過程詳解
- django解決跨域請(qǐng)求的問題詳解
- Django跨域請(qǐng)求CSRF的方法示例
- Django跨域請(qǐng)求無法傳遞Cookie的解決
相關(guān)文章
Django實(shí)現(xiàn)auth模塊下的登錄注冊(cè)與注銷功能
這篇文章主要介紹了Django實(shí)現(xiàn)auth模塊下的登錄注冊(cè)與注銷功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10
Python實(shí)現(xiàn)運(yùn)行其他程序的四種方式實(shí)例分析
這篇文章主要介紹了Python實(shí)現(xiàn)運(yùn)行其他程序的四種方式,結(jié)合實(shí)例形式分析了Python執(zhí)行其他程序相關(guān)模塊與函數(shù)使用技巧,需要的朋友可以參考下2017-08-08
Python對(duì)XML文件實(shí)現(xiàn)增刪改查操作
這篇文章主要為大家詳細(xì)介紹了Python對(duì)XML文件進(jìn)行實(shí)現(xiàn)增刪改查操作的方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的可以了解一下2022-11-11
基于Python實(shí)現(xiàn)自動(dòng)掃雷詳解
這篇文章主要介紹了如何利用Python+OpenCV實(shí)現(xiàn)了自動(dòng)掃雷,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定的幫助,需要的可以參考一下2022-01-01
數(shù)據(jù)清洗--DataFrame中的空值處理方法
今天小編就為大家分享一篇數(shù)據(jù)清洗--DataFrame中的空值處理方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-07-07
一文教你Python如何創(chuàng)建屬于自己的IP池
這篇文章主要為大家詳細(xì)介紹了python如何創(chuàng)建屬于自己的IP池,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定參考價(jià)值,需要的可以參考一下2022-04-04

