在 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 框架就可以处理跨域请求了。