1、Python django解决跨域请求的问题
解决方案
1.安装django-cors-headers
pip3 install django-cors-headers
2.配置settings.py文件
INSTALLED_APPS = [
...
'corsheaders',#加入跨域app
...
]
#在中间件中加入跨域中间件,CorsMiddleware最好放在最开始的地方
MIDDLEWARE_CLASSES = (
...
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware', # 注意顺序
...
)
#跨域设置,#跨域增加忽略
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_HEADERS = (' * ')
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
'VIEW',
)
CORS_ALLOW_HEADERS = (
'XMLHttpRequest',
'X_FILENAME',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
)
最后配置允许的ip
ALLOWED_HOSTS = ['*'] # *是指任意ip 要是只想允许特定ip访问的话 就把*改成对应的ip
2、Django使用本机IP无法访问,使用127.0.0.1能正常访问
我们先到Django项目中找到setting文件
ALLOWED_HOSTS = [] ,修改为 ALLOWED_HOSTS = ['*']
在终端中Terminal启动django服务时,输入命令行
python manage.py runserver 0.0.0.0:8000
1、端口可以随意配置(只要没有占用即可)
2、显示0.0.0.0说明在setting.py文件中 ALLOWED_HOSTS = [’*’]中配置所有IP都可以访问该接口
或者在在pycharm中配置.打开Edit configurations配置
在Host中加入0.0.0.0,port端口随意,然后点击Apply
重新使用pycharm启动项目即可。