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