1. 程式人生 > >Python-Django-CORS跨域請求

Python-Django-CORS跨域請求

跨域CORS
我們為前端和後端分別設定了兩個不同的域名


位置域名
前端www.meiduo.site
後端api.meiduo.site
現在,前端與後端分處不同的域名,我們需要為後端新增跨域訪問的支援。


我們使用CORS來解決後端對跨域訪問的支援。


使用django-cors-headers擴充套件


參考文件https://github.com/ottoyiu/django-cors-headers/


安裝
pip install django-cors-headers
新增應用
INSTALLED_APPS = (
    ...
    'corsheaders',
    ...
)
中間層設定

MIDDLEWARE = [

// 必須在最前面 只有允許跨域請求,後面的中介軟體才能被執行

    'corsheaders.middleware.CorsMiddleware',
    ...
]
新增白名單
# CORS
CORS_ORIGIN_WHITELIST = (
    '127.0.0.1:8080',
    'localhost:8080',
    'www.meiduo.site:8080',
    'api.meiduo.site:8000'
)
CORS_ALLOW_CREDENTIALS = True  # 允許攜帶cookie

凡是出現在白名單中的域名,都可以訪問後端介面

ALLOWED_HOSTS = ['127.0.0.1', 'localhost', 'api.meiduo.site', 'www.meiduo.site']

CORS_ALLOW_CREDENTIALS 指明在跨域訪問中,後端是否支援對cookie的操作。