日韩精品欧美激情国产一区_中文无码精品一区二区三区在线_岛国毛片AV在线无码不卡_亞洲歐美日韓精品在線_使劲操好爽好粗视频在线播放_日韩一区欧美二区_八戒八戒网影院在线观看神马_亚洲怡红院在线色网_av无码不卡亚洲电影_国产麻豆媒体MDX

Django 解決CORS跨域問題的方法

時間:2024-10-26 14:14:41 類型:python
字號:    

解決思路

如何解決這種情形的問題呢?
瀏覽器同源策略有條規(guī)則,Response頭部如果包含如下字段值,則不做CORS檢查。

Access-Control-Allow-Origin: *

解決方法:通過 django-cors-headers 庫來實現(xiàn)

1): 安裝: 

pip install django-cors-headers

2) 修改 settings.py 配置文件

添加到應用列表

INSTALLED_APPS = (
    ##...
    'corsheaders'
)

corsheaders.middleware.CorsMiddleware

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'corsheaders.middleware.CorsMiddleware',
    ......

然后,添加下面配置 允許所有 domain 訪問

CORS_ORIGIN_ALLOW_ALL = True

或者,允許某些域訪問

CORS_ORIGIN_ALLOW_ALL = False
# 允許域名加入白名單
CORS_ORIGIN_WHITELIST = (
    'http//:localhost:8000',
)

至此,Django端已經(jīng)解決了跨域問題,如果有問題,一是注意步驟是否有遺漏, 二是注意 瀏覽器端是否有清緩存(個人在這里因為沒有清緩存,花了很長時間,電腦重啟了都沒有起作用)

說明

在測試環(huán)境中,可以允許所有domain來訪問,以避免 CORS問題,前后端分離項目在生產(chǎn)環(huán)境下,通常應該部署在同域下,
如果確實需要跨域,則將前端域名添加到白名單 CORS_ORIGIN_WHITELIST配置項中,禁止其它域訪問
。


<