解決Django和Flask的跨域問題

2021-10-09 15:54:25 字數 2039 閱讀 6508

4、解決flask的跨域問題

問題引入:來自8080伺服器的js中的動態介面請求,沒能夠真正傳送給8000動態伺服器;為什麼會這樣?!

url瀏覽器判斷是否同源的乙個隱含規則:只判斷協議、網域名稱和埠的字面值

答:來自a伺服器的js,請求的目標是b伺服器,那麼這個請求稱之為跨域請求

答:當瀏覽器處理乙個跨域請求的時候,會主動詢問目標主機是否允許此次跨域請求,在得到肯定答覆之後才會真的傳送此次跨域請求!

安裝外掛程式django-cors-headers

pip install django-cors-headers -i
3.2、修改工程配置檔案
allowed_hosts =

['*'][

# ......

# 註冊第三方應用

'corsheaders'

,# 解決了跨域請求問題

# ......

]middleware =

[# 新增乙個中介軟體來響應跨域詢問options請求

'corsheaders.middleware.corsmiddleware'

,# ......

]# 新增跨域白名單,指定允許跨域請求到8000的源

cors_origin_whitelist =

['',''

,# 注意,即使在hosts檔案映**127.0.0.1 www.meiduo.site,兩者依然不是同源,只認字面值

]# 或者使用:cors_origin_allow_all = true,表示允許所有跨域請求

# 表示跨域的多個主機之間共享cookie資料

cors_allow_credentials =

true

3.3、主機網域名稱對映配置:

開啟終端——使用vim開啟 /etc/hosts檔案:

在最後增加:127.0.0.1 www.meiduo.site

1

127.0

.0.1 localhost

2127.0

.1.1 ubuntu

34# the following lines are desirable for ipv6 capable hosts5:

:1 ip6-localhost ip6-loopback

6 fe00:

:0 ip6-localnet

7 ff00:

:0 ip6-mcastprefix

8 ff02:

:1 ip6-allnodes

9 ff02:

:2 ip6-allrouters

100.0

.0.0 account.jetbrains.com

1112

13127.0

.0.1 www.meiduo.site

4.1 flask元件flask-cors可以處理跨域問題, 安裝

pip install flask-cors -i
from flask_cors import cors

# 6.允許跨域請求

# supports_credentials=true 支援跨域的時候攜帶cookie,session,token

# methods= 允許跨域的請求方法 預設:全部請求方法都允許跨域

# cors_origins = [''] # 限定允許訪問的網域名稱, 不設定則全部允許

true

)

flask和django的 比較

1 flask flask確實很 輕 不愧是micro framework,從django轉向flask的開發者一定會如此感慨,除非二者均為深入使用過 flask自由 靈活,可擴充套件性強,第三方庫的選擇面廣,開發時可以結合自己最喜歡用的輪子,也能結合最流行最強大的python庫 入門簡單,即便沒有...

python中django和flask的比較

眾所周知,django框架是重量級的,flask是輕量級,為甚麼有輕重之分,要從多方面來剖析 flask 燒瓶 1 在python中flask就是輕量級的代名詞,靈活度很高。2 flask中有豐富的第三方庫,使用什麼庫,安裝什麼庫。3 flask易入門,適合開發小型 4 開發大型 架構設計會比較複雜...

Django和Flask中的模板和標籤

父模板 負責挖坑,挖的坑可以被子模板動態填充的內容 子模板 繼承于父模板,並且動態填充坑的內容 繼承 包含 獲取坑之前填充的內容 載入靜態檔案 硬編碼 指定定義靜態檔案的路徑 static css index.css 使用url for進行解析 迴圈 迴圈編號 從0開始計數 逆向計數 第一次迴圈是t...