Django Rest Framework - Cross Origin Resquest был заблокирован
Я разрабатываю API с использованием Django Rest Framework. Я пытаюсь перечислить или создать объект «Статья», но когда я пытаюсь получить доступ, консоль выдает мне эту ошибку:
Я размещаю свой фронтенд на http://localhost:3000 и отправляю запрос на 127.0.0.1:8000
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at
http://127.0.0.1:8000/api/articles/.
(Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
Status code: 200.
Вместе с этим в файле setting.py я получил вышеуказанную ошибку
CORS_ALLOWED_ORIGINs = [
"http://localhost:3000",
]
но если использовать этот код, то все работает гладко
CORS_ORIGIN_ALLOW_ALL = True
Это мой GET-запрос
useEffect(() => {
fetch("http://127.0.0.1:8000/api/articles/", {
'method': "GET",
headers: {
'Content-Type': 'application/json',
'Authorization': 'Token 746a97c3f72a5fc388762c5732e2c8340fc75ba9',
}
})
.then(res => res.json())
.then((data) => setArticles(data))
.catch((error) => console.log(error))
}, []);
Другие конфигурации в файле setting.py, похоже, настроены правильно.
У вас опечатка в настройках CORS_ALLOWED_ORIGINs
(строчная буква s
), попробуйте
CORS_ALLOWED_ORIGINS = [
"http://localhost:3000",
]
И убедитесь, что ваше приложение работает на http://localhost:3000
, поскольку http://127.0.0.1:3000
может обрабатываться по-другому.