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