Django COSR跨域错误
什么是跨域?
跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。
跨域举例
有很多的cookie,在一个页面上展示不同的账号,通过点击实现自动对应账号到网站,首先想到的是使用document.cookie="k=v;domain=.xxx.com"
然后打开网站,由于浏览器同源策略,cookie会写入不了。可以通过插件方式实现传送门
Django COSR
首先安装django-cors-headers
pip install django-cors-headers
然后再setting.py
文件中加入配置
CORS_ORIGIN_ALLOW_ALL = True # 需要添加的
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'corsheaders', # 需要添加的
]
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware', # 需要添加的
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
评论区