مشکل CORS policy با apiها در جنگو
اگر شما هم با یکی از فریمورکهای فرانت یا برنامههای دیگر در حال خواندن داده و ارتباط با api هستید که این api را با جنگو نوشتهاید و با خطای CORS policy روبرو میشوید این نوشته را تا پایان بررسی کنید.
مشکل CORS policy با apiها در جنگو
اگر شما هم خطای زیر را مشاهده کردهاید پس به نوشتهی درستی برای رفع مشکل خود آمدهاید:
Access to fetch at ‘http://127.0.0.1:8000/api/v1/config/list/’ from origin ‘http://localhost:3000’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. If an opaque response serves your needs, set the request’s mode to ‘no-cors’ to fetch the resource with CORS disabled.
برای رفع این مشکل ابتدا پکیج django-cors-headers را باید نصب کنید. برای نصب django-cors-headers در جنگو از دستور زیر استفاده کنید:
pip install django-cors-headers
سپس وارد فایل settings.py پروژه شوید و در این فایل تغییرات زیر را ایجاد کنید:
- به بخش INSTALLED_APPS بروید و مقدار corsheaders را نیز درون آن قرار دهید.
- سپس به MIDDLEWAREها مقدار corsheaders.middleware.CorsMiddleware را نیز اضافه کنید.
- سپس کد زیر را نیز به این فایل اضافه کنید:
ALLOWED_HOSTS=['*'] CORS_ORIGIN_ALLOW_ALL = True
حالا مشکل شما حل خواهد شد. اگر هنوز مشکل بالا باقی ماند سرور خود را یک بار مجدد اجرا کنید و سپس به کار خود ادامه دهید.
اگر مشکل شما با روش بالا حل نشد در بخش نظرات همین نوشته برای ما بنویسید.
ارسال پاسخ