问题一:django跨域
- 现象:
has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
- 解决方案:安装django-cors-headers、修改settings.py
- pip3 install django-cors-headers
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'backend.apps.BackendConfig',
'corsheaders',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware',#新加
'django.middleware.common.CommonMiddleware',#新加
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
#跨域增加忽略
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_ALLOW_ALL = True
CORS_ORIGIN_WHITELIST = ()
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
'VIEW',
)
问题二:修改settings.py后启动报错
- 现象:
TypeError: init() got an unexpected keyword argument ‘providing_args’
- 解决方案:升级包
pip3 install --upgrade django-cors-headers
pip3 install --upgrade django-jsonfield
pip3 install --upgrade djangorestframework