Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Access to XMLHttpRequest at 'http://localhost:8000/api/v1/restaurantes/' from origin 'http://localhost:5173' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Segue erro ao tentar ver o console.log do get.

useEffect(() => {
    axios
      .get("http://localhost:8000/api/v1/restaurantes/")
      .then((response) => {
        console.log(response); // <======= 
      })
      .catch((error) => {
        console.log(error);
      });
  }, []);
3 respostas
solução!

Resolvido!

em server no arquivo settings.py troquei o endereço para a porta que meu front-end esta rodando:

CORS_ALLOWED_ORIGINS = [
    "http://localhost:5173",
]

Salve, Livio!

CORS significa "Compartilhamento de Recursos do Origem Cruzada" e é um mecanismo de segurança que restringe acesso a recursos em uma página web de origens diferentes.

Em outras palavras, ele impede que um site acesse recursos em outro site a menos que o site permita esse acesso.

Por acaso você está usando Vite?

Consegue mudar sua porta local para 3000 ao invés de 5173?

Se eu não me engano, a api só responde pra "http://localhost:3000".

Do contrários, acho que teremos de customizar o backend pra você :)

Tudo bem Vinicios, obrigado pela resposta.

Estou usando o Vite. O que fiz para resolver o problema foi mo di ficar a variavel abaixo, no banckend.

CORS_ALLOWED_ORIGINS = [
    "http://localhost:5173",
]

Tudo rodando perfeito agora. Obrigado pelo apoio e pela excelente explicação.