1、安裝依賴庫django-cors-headers
pip install django-cors-headers
2、setting設定(支援所有的IP進行跨域)
修改Django專案資料夾下的 setting.py 檔案
# django_project/setting.py
# 修改允許訪問的IP
ALLOWED_HOSTS = ['*'] # 允許全部IP訪問專案
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'corsheaders', # 註冊跨域app corsheaders
'app01',# 你的app
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware', # 加入中間鍵 位置必須在這裡 不能在其他位置
'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware', 如果你的專案沒有考慮到 csrf 網路攻擊,可註釋掉,否則會報錯沒有傳遞 csrf cookie
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
# 在 setting.py 末尾新增以下設定
CORS_ALLOW_CREDENTIALS = True # 允許攜帶cookie
CORS_ALLOW_ALL_ORIGINS = True
CORS_ALLOW_HEADERS = ('*')
3、設定跨域白名單
# CORS跨域請求白名單設定
CORS_ORIGIN_WHITELIST = (
'http://127.0.0.1:8080',
'http://localhost:8080',
'http://192.168.3.10:8080' # 前端的ip
'http://www.mysite.site:8080',
)
CORS_ALLOW_CREDENTIALS = True # 允許攜帶cookie