最近在学django前后端分离开发时遇到一点跨域问题,笔记如下:
1,打开虚拟环境
先打开命令cmd终端,然后命令打开自己的虚拟环境workon your_ENV。
2,安装cors
pip install django-cors-headers
如果习惯用pycharm开发的朋友,也可以直接在Terminal中安装cors,不用通过cmd打开虚拟环境。
3,将corsheaders配置到项目setting.py文件中的**INSTALLED_APPS = []**中
INSTALLED_APPS = [
...
'crispy_forms',
...
'rest_framework',
'corsheaders',
...
]
4,将corsheaders.middleware.CorsMiddleware配置到项目setting.py文件中的MIDDLEWARE = []中,最好放在第一位,如果不放在第一位,加载时可能会有其他的先后顺序的冲突错误, 并将CORS_ORIGIN_ALLOW_ALL设置为True,在最初的srtting.py文件中CORS_ORIGIN_ALLOW_ALL属性并没有写入,其值默认为False,所以为防止拼写错误,直接复制本文代码即可。
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',
]
CORS_ORIGIN_ALLOW_ALL = True
希望能对大家有所帮助,谢谢。