在django中解决跨域问题
时间: 2024-03-16 07:43:11 浏览: 18
在 Django 中解决跨域问题有多种方法,以下是其中一种常见的方法:
1. 安装 Django-cors-headers 包
```
pip install django-cors-headers
```
2. 在 settings.py 文件中添加以下代码:
```
INSTALLED_APPS = [
# ...
'corsheaders',
# ...
]
MIDDLEWARE = [
# ...
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
# ...
]
```
3. 配置允许跨域访问的域名
在 settings.py 文件中添加以下代码:
```
CORS_ORIGIN_ALLOW_ALL = False
CORS_ORIGIN_WHITELIST = [
'http://localhost:8080', # 允许的域名,可以是多个
]
```
4. 在视图函数中添加响应头
在视图函数中添加以下代码:
```
from django.http import JsonResponse
def my_view(request):
response = JsonResponse({'hello': 'world'})
response['Access-Control-Allow-Origin'] = '*' # 允许所有域名跨域访问
return response
```
以上方法可以解决 Django 中的跨域问题。