Django解決跨域

HuangQiaoqi發表於2024-05-09

基本使用

1.安裝依賴

pip install django-cors-headers

2.修改設定

  • 修改Django專案資料夾下的 setting.py 檔案
# 記得修改允許訪問的IP
ALLOWED_HOSTS = ['*'] # 允許全部IP訪問專案
# setting.py 修改以下內容
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
CORS_ALLOW_ALL_ORIGINS = True
CORS_ALLOW_HEADERS = ('*')

相關文章