亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

跨源請求被阻止 Django 和 React

跨源請求被阻止 Django 和 React

慕斯709654 2024-01-18 14:49:00
我安裝了pip install django-cors-headers還是不行添加到settings.py文件中INSTALLED_APPS = [    ...    'corsheaders',    ...]MIDDLEWARE = [    ...    'corsheaders.middleware.CorsMiddleware',    'django.middleware.common.CommonMiddleware',    ...]Django 休息框架
查看完整描述

2 回答

?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

我在項目解決方案中也遇到了同樣的問題,我得到的是


將 corsheaders.middleware.CorsMiddleware 放在頂部


MIDDLEWARE = [

'corsheaders.middleware.CorsMiddleware',

'django.middleware.security.SecurityMiddleware',

'django.contrib.sessions.middleware.SessionMiddleware',

..........

..........

]

ALLOWED_HOSTS = ['*']


在settings.py底部添加


?CORS_ORIGIN_ALLOW_ALL = True

根據文檔, CorsMiddleware 應該放置在盡可能高的位置,特別是在任何可以生成響應的中間件之前,例如 Django 的 CommonMiddleware 或 Whitenoise 的 WhiteNoiseMiddleware。如果不是之前,它將無法將 CORS 標頭添加到這些響應中。


另外,如果您使用 CORS_REPLACE_HTTPS_REFERER,則應將其放置在 Django 的 CsrfViewMiddleware 之前。


查看完整回答
反對 回復 2024-01-18
?
慕婉清6462132

TA貢獻1804條經驗 獲得超2個贊

通常,對于此類錯誤,您需要settings.py更新django-cors-headers:


# update backend/server/server/settings.py

# ...

INSTALLED_APPS = [

? ? #...

? ? 'corsheaders', # add it here

? ? #...

]


# define which origins are allowed

CORS_ALLOWED_ORIGINS = [

? ? "http://localhost:3000",

? ? "http://127.0.0.1:3000"

]


# add to middleware

MIDDLEWARE = [

? ? #...

? ? 'corsheaders.middleware.CorsMiddleware',

? ? 'django.middleware.common.CommonMiddleware',

? ? #...

]

有時您還需要設置ALLOWED_HOSTS=["127.0.0.1"]或使用其他地址(您也可以嘗試使用“*”,但僅用于調試)。


另請嘗試在網絡瀏覽器中清除緩存的情況下運行測試。


如果這沒有幫助,請提供有關您的項目設置的更多詳細信息。


查看完整回答
反對 回復 2024-01-18
  • 2 回答
  • 0 關注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號