在 Django RESTful 框架中處理跨域請求,可以使用 Django 的第三方庫 django-cors-headers
。以下是安裝和配置該庫的步驟:
django-cors-headers
:pip install django-cors-headers
settings.py
文件中,將 corsheaders
添加到 INSTALLED_APPS
列表中:INSTALLED_APPS = [
# ...
'corsheaders',
# ...
]
settings.py
文件中,配置 MIDDLEWARE
列表,將 corsheaders.middleware.CorsMiddleware
添加到列表的開頭:MIDDLEWARE = [
# ...
'corsheaders.middleware.CorsMiddleware',
# ...
]
CORS_ORIGIN_ALLOW_ALL
允許所有來源的跨域請求(在生產環境中,建議僅允許可信來源):CORS_ORIGIN_ALLOW_ALL = True
或者,你可以指定允許的跨域請求來源:
CORS_ORIGIN_WHITELIST = [
'http://localhost:3000',
'http://example.com',
]
settings.py
文件中配置 CORS_ALLOW_METHODS
和 CORS_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 框架就可以處理跨域請求了。