django实现前端ajax跨域请求

独自空忆成欢 提交于 2020-01-21 09:28:30

针对跨域,只要针对允许跨域的主机添加访问控制头部即可
这里我们使用已经开发好的增加头部数据的python第三方包。

pip install django-cors-headers
#安装cors包  cross origin resource sharing

修改setting文件中的配置


INSTALLED_APPS = [
    ...
    'corsheaders'...
 ]
 
MIDDLEWARE_CLASSES = (
    ...
    'corsheaders.middleware.CorsMiddleware', # 最好放在common前面,具有更高的处理优先级
    'django.middleware.common.CommonMiddleware',
    ...
)
#
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_ALLOW_ALL = True #默认是False,true会允许所有主机可以跨域访问
CORS_ORIGIN_WHITELIST = (
    '*'
)  # whitelist中添加可以跨域访问的主机
 
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',
    'Pragma',
)
#增加settings配置
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!