阅读量:129
在 Django RESTful 框架中处理跨域请求,可以使用 Django 的第三方库 django-cors-headers。以下是安装和配置该库的步骤:
- 安装
django-cors-headers:
pip install django-cors-headers
- 在 Django 项目的
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 框架就可以处理跨域请求了。