什麼是跨域?
跨域:指的是瀏覽器不能執行其他網站的腳本。它是由瀏覽器的同源策略造成的,是瀏覽器對javascript施加的安全限制
同源策略:是指協議,域名,端口都要相同,其中有一個不同都會產生跨域
不同源的客戶端腳本(javascript、ActionScript)在沒明確授權的情況下,不能讀寫對方的資源。
django跨域配置
- 安裝 django-cors-headers
pip install django-cors-headers
- 添加到已安裝的應用程序中
INSTALLED_APPS =(
...
'corsheaders ',
...
)
- 添加中間件類來收聽響應
MIDDLEWARE = [
...
# 跨域請求中間件
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
...
]
注意:要放在中間件(common.CommonMiddleware)的上面,涉及到請求響應的順序問題
- 在 settings.py 的任意位置 添加
CORS_ORIGIN_ALLOW_ALL = True