django前后段分离之跨域问题解决

一曲冷凌霜 提交于 2020-02-04 00:28:43

最近在学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

希望能对大家有所帮助,谢谢。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!