Django 怎么处理这个问题
时间: 2024-03-23 16:41:50 浏览: 16
Django 也有类似 Flask 中添加响应头的处理方式。您可以在 Django 的视图函数中添加响应头来解决跨域问题。
例如,在 Django 的视图函数中添加如下代码:
```python
from django.http import JsonResponse
def login(request):
# 处理登录逻辑
response = JsonResponse({'status': 'success'})
response['Access-Control-Allow-Origin'] = 'http://localhost:9527'
response['Access-Control-Allow-Credentials'] = 'true'
return response
```
其中,Access-Control-Allow-Origin 表示允许访问的源,Access-Control-Allow-Credentials 表示允许带有凭据的请求。
另外,如果您的 Django 项目中使用了 Django REST framework,则可以使用其提供的中间件来解决跨域问题。在 settings.py 中添加如下配置即可:
```python
INSTALLED_APPS = [
# ...
'rest_framework',
# ...
]
MIDDLEWARE = [
# ...
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
# ...
]
CORS_ORIGIN_ALLOW_ALL = False
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_WHITELIST = (
'http://localhost:9527',
)
```
其中,CORS_ORIGIN_ALLOW_ALL 表示允许所有源访问,CORS_ALLOW_CREDENTIALS 表示允许带有凭据的请求,CORS_ORIGIN_WHITELIST 表示允许访问的源列表。