Python使用django解決跨域請求的問題
解決方案
1.安裝django-cors-headers
pip3 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ù)時,存在跨域的限制。不過,在Web頁面上調(diào)用js的script腳本文件時卻不受跨域的影響,JSONP就是利用這個來實現(xiàn)跨域的傳輸。因此,我們需要將Ajax調(diào)用中的dataType從JSON改為JSONP(相應(yīng)的API也需要支持JSONP)格式。
JSONP只能用于GET請求。
2.直接修改Django中的views.py文件
修改views.py中對應(yīng)API的實現(xiàn)函數(shù),允許其他域通過Ajax請求數(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到此這篇關(guān)于Python使用django解決跨域請求的問題的文章就介紹到這了,更多相關(guān)Python django解決跨域請求內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中獲取列表元素數(shù)量的多種實現(xiàn)方式
在Python編程中,經(jīng)常需要獲取列表的元素數(shù)量,也就是列表的長度,這在進行數(shù)據(jù)處理、循環(huán)操作等場景中非常常見,Python提供了多種方式來實現(xiàn)這一需求,每種方式都有其特點和適用場景,需要的朋友可以參考下2025-07-07
python實現(xiàn)csdn全部博文下載并轉(zhuǎn)PDF
我們學習編程,在學習的時候,會有想把有用的知識點保存下來,我們可以把知識點的內(nèi)容爬下來轉(zhuǎn)變成pdf格式,方便我們拿手機可以閑時翻看,是很方便的,本文就介紹一下如何實現(xiàn)2021-06-06
PyTorch實現(xiàn)MNIST數(shù)據(jù)集手寫數(shù)字識別詳情
這篇文章主要介紹了PyTorch實現(xiàn)MNIST數(shù)據(jù)集手寫數(shù)字識別詳情,文章圍繞主題展開詳細的內(nèi)容戒殺,具有一定的參考價值,需要的朋友可以參考一下2022-09-09
Python Excel操作之將ISBN轉(zhuǎn)條形碼
這篇文章主要為大家詳細介紹了Python Excel操作中如何將ISBN轉(zhuǎn)條形碼功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2025-06-06

