Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mendayakan Perkongsian Sumber Silang Asal (CORS) dalam Rangka Kerja Django REST menggunakan django-cors-headers?

Bagaimana untuk Mendayakan Perkongsian Sumber Silang Asal (CORS) dalam Rangka Kerja Django REST menggunakan django-cors-headers?

Susan Sarandon
Susan Sarandonasal
2024-11-18 08:33:02355semak imbas

How to Enable Cross-Origin Resource Sharing (CORS) in Django REST Framework using django-cors-headers?

Mendayakan CORS dalam Django REST Framework dengan django-cors-headers

Django REST Framework menyediakan cara mudah untuk memasukkan RESTful API dalam Django aplikasi. Walau bagaimanapun, secara lalai, tetapan keselamatan Django menghalang permintaan silang asal. Untuk mendayakan perkongsian sumber silang asal (CORS), anda boleh menggunakan pustaka pihak ketiga django-cors-headers.

Cara Mendayakan CORS

  1. Pasang django-cors-headers:
python -m pip install django-cors-headers
  1. Tambahkan pada Apl yang Dipasang:

Edit anda Fail settings.py aplikasi Django dan tambah 'corsheaders' pada senarai INSTALLED_APPS anda:

INSTALLED_APPS = (
    ...
    'corsheaders',
    ...
)
  1. Tambah Middleware:

Lanjutkan tetapan MIDDLEWARE anda untuk memasukkan CorsMiddleware daripada django-cors-headers:

MIDDLEWARE = [
    ...,
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    ...,
]
  1. Konfigurasikan Tetapan CORS:

Untuk menentukan domain yang dibenarkan untuk buat permintaan silang asal, edit tetapan CORS_ALLOWED_ORIGINS:

CORS_ALLOWED_ORIGINS = [
    'http://localhost:3030',
    # Add additional allowed origins as needed
]
  1. Tetapan Tambahan:

Rujuk dokumentasi django-cors-headers untuk senarai lengkap tetapan konfigurasi CORS, termasuk menetapkan pengepala tersuai, masa tamat tempoh dan banyak lagi.

Nota: Untuk mendayakan CORS khusus untuk Rangka Kerja Django REST, anda boleh menggunakan penghias @action dengan parameter cors_allowed_origins.

Atas ialah kandungan terperinci Bagaimana untuk Mendayakan Perkongsian Sumber Silang Asal (CORS) dalam Rangka Kerja Django REST menggunakan django-cors-headers?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn