Django通過設(shè)置CORS解決跨域問題
一、Ajax 跨域請求
Ajax 請求一個目標地址為非本域(協(xié)議、主機、端口任意一個不同)的 web 資源。
前端
http://192.168.10.50:8080
后端
http://192.168.10.50:8000
Ajax 跨域請求保護的作用:防止跨站的攻擊。
二、如何解決跨域的訪問
當我們在現(xiàn)實當中有需要跨域訪問資源,有兩種解決方案:
- 前端解決:jsonp
- 后端解決(Django):CORS 專門解決方案
這篇文章主要介紹使用 Django 框架進行開發(fā)時的后端解決方案。
三、Django 解決跨域問題
Django 框架中通過 django-cors-headers 這個模塊解決。
1. 安裝
pip install django-cors-headers
2. 注冊應(yīng)用
注冊到 settings 的 INSTALLED_APPS 中。
INSTALLED_APPS = ( ... 'corsheaders', ... )
3. 添加到中間件
添加到 settings 的 MIDDLEWARE 中,一般放在 django.middleware.csrf.CsrfViewMiddleware 前面。
MIDDLEWARE = [ 'corsheaders.middleware.CorsMiddleware', ... ]
4. 添加白名單
添加允許訪問的白名單,凡是出現(xiàn)在白名單的域名都可以訪問后端接口。
# 添加 CORS 配置 # 1. 設(shè)置白名單 CORS_ORIGIN_WHITELIST = ( '127.0.0.1:8080', 'localhost:8080', 'http://192.168.10.50:8080', # 凡是出現(xiàn)在白名單中的域名,都可以訪問后端接口 ) # 2. 設(shè)置 CORS Cookie CORS_ALLOW_CREDENTIALS = True # 指明在跨域訪問中,后端是否支持對cookie的操作
到此這篇關(guān)于Django 通過設(shè)置CORS解決跨域問題的文章就介紹到這了,更多相關(guān)Django CORS跨域內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python經(jīng)典練習(xí)百題之猴子吃桃三種解法
這篇文章主要給大家介紹了關(guān)于python經(jīng)典練習(xí)百題之猴子吃桃三種解法的相關(guān)資料, Python猴子吃桃子編程是一個趣味性十足的編程練習(xí),在這個練習(xí)中,我們將要使用Python語言來模擬一只猴子吃桃子的過程,需要的朋友可以參考下2023-10-10Python中使用glob和rmtree刪除目錄子目錄及所有文件的例子
這篇文章主要介紹了python中使用glob和rmtree刪除目錄子目錄及所有文件的例子,需要的朋友可以參考下2014-11-11python 讀取文本文件的行數(shù)據(jù),文件.splitlines()的方法
今天小編就為大家分享一篇python 讀取文本文件的行數(shù)據(jù),文件.splitlines()的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07