CORS missing allow origins with login_required Django
Вот моя проблема, как я сказал в заголовке, у меня проблема с cors. Я создал представление с "login_required" и поскольку у меня есть ошибка "cors missing allow origin", мой get запрос работал нормально до того, как я установил login_required. Я использую Django rest Framework, я перепробовал все, я изменил settting.py с allow_host, cors_origin_white_list, corsheader в установленном приложении, добавил опции заголовка в запрос axios и т.д...
вид
class essai2(APIView):
serializer_class = ComSerializer
def get(self, request):
Pictos = Pictograms.objects.all()
data = ComSerializer(Pictos, many=True).data
if data:
return Response(data, status=status.HTTP_200_OK)
запрос axios (я использую reactjs)
useEffect(() => {
axios.get("http://127.0.0.1:8002/com/test").then(function (response) {
console.log("coucou");
setpictos(response.data);
})
}, []);
setting.py
CORS_ALLOW_HEADERS = (
'accept',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
)
CORS_ORIGIN_ALLOW_ALL = False
CORS_ALLOW_ORIGIN = ["http://localhost:3000",]
CORS_ORIGIN_WHITELIST = [
'http://localhost:3000',
]
я использую встроенную систему входа в django, поэтому если пользователь не вошел в систему, у меня есть перенаправление на страницу входа, и все работает нормально на стороне сервера, данные отображаются, когда я вошел в систему, но я не могу получить данные на стороне клиента, даже если пользователь вошел в систему.
Обслуживается ли клиентская сторона на порту 3000?
Если нет, вам нужно изменить номер порта в CORS_ALLOW_ORIGIN на тот, на котором обслуживается клиент.