溫馨提示×

django restful 框架如何處理跨域請求

小樊
81
2024-10-15 17:06:24
欄目: 編程語言

在 Django RESTful 框架中處理跨域請求,可以使用 Django 的第三方庫 django-cors-headers。以下是安裝和配置該庫的步驟:

  1. 安裝 django-cors-headers
pip install django-cors-headers
  1. 在 Django 項(xiàng)目的 settings.py 文件中,將 corsheaders 添加到 INSTALLED_APPS 列表中:
INSTALLED_APPS = [
    # ...
    'corsheaders',
    # ...
]
  1. settings.py 文件中,配置 MIDDLEWARE 列表,將 corsheaders.middleware.CorsMiddleware 添加到列表的開頭:
MIDDLEWARE = [
    # ...
    'corsheaders.middleware.CorsMiddleware',
    # ...
]
  1. 配置 CORS_ORIGIN_ALLOW_ALL 允許所有來源的跨域請求(在生產(chǎn)環(huán)境中,建議僅允許可信來源):
CORS_ORIGIN_ALLOW_ALL = True

或者,你可以指定允許的跨域請求來源:

CORS_ORIGIN_WHITELIST = [
    'http://localhost:3000',
    'http://example.com',
]
  1. 如果需要設(shè)置跨域請求的允許方法、允許頭部等,可以在 settings.py 文件中配置 CORS_ALLOW_METHODSCORS_ALLOW_HEADERS
CORS_ALLOW_METHODS = [
    'DELETE',
    'GET',
    'OPTIONS',
    'PATCH',
    'POST',
    'PUT',
]

CORS_ALLOW_HEADERS = [
    'accept',
    'accept-encoding',
    'authorization',
    'content-type',
    'dnt',
    'origin',
    'user-agent',
    'x-csrftoken',
    'x-requested-with',
]

完成以上步驟后,Django RESTful 框架就可以處理跨域請求了。

0