欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

django开发时遇到的跨域请求问题

程序员文章站 2022-06-19 18:17:43
使用django进行web开发的时候会遇到一个问题,后端一切正常,但前端访问后端的时候会报错,错误如下: 遇到这种情况就是django的跨域问题。我们接下来对此进行解决: 1.使用pip命令安装django-cors-middleware 2.有的小伙伴使用pycharm进行开发,然后他在pip里对 ......

使用django进行web开发的时候会遇到一个问题,后端一切正常,但前端访问后端的时候会报错,错误如下:

django开发时遇到的跨域请求问题

遇到这种情况就是django的跨域问题。我们接下来对此进行解决:

1.使用pip命令安装django-cors-middleware

1 pip install django-cors-middleware

2.有的小伙伴使用pycharm进行开发,然后他在pip里对上述模块进行了安装,并且安装成功了,但他进入到pycharm继续开发的时候依然会报错,因为pip在不使用虚拟环境的时候,默认安装在python的安装路径下。我们需要对编译器路径进行调整。有两种方法可以进行调整。

  1)切换项目编译器到python默认安装路径(我的是在c盘安装路径下:)

django开发时遇到的跨域请求问题

  2)在虚拟环境下安装django-cors-middleware(使用pycham为例:)

    此界面没有django-cors-middleware模块时使用右边的加号对其进行安装即可(相信大家都会这个...)

django开发时遇到的跨域请求问题

 

django开发时遇到的跨域请求问题

     ps:至此安装模块结束

3.对项目的settings.py文件进行修改:

 1 installed_apps = [
 2     'django.contrib.admin',
 3     'django.contrib.auth',
 4     'django.contrib.contenttypes',
 5     'django.contrib.sessions',
 6     'django.contrib.messages',
 7     'django.contrib.staticfiles',
 8     'corsheaders',    # 添加这一行
 9     'test1',
10 ]
 1 middleware = [
 2     'django.middleware.security.securitymiddleware',
 3     'django.contrib.sessions.middleware.sessionmiddleware',
 4     'django.middleware.common.commonmiddleware',
 5     'django.middleware.csrf.csrfviewmiddleware',
 6     'django.contrib.auth.middleware.authenticationmiddleware',
 7     'django.contrib.messages.middleware.messagemiddleware',
 8     'django.middleware.clickjacking.xframeoptionsmiddleware',
 9     'corsheaders.middleware.corsmiddleware',    # 添加这行和下面一行
10     'django.middleware.common.commonmiddleware',    
11 ]
1 cors_origin_allow_all = true  当这一行添加过后,所有的访问都将被允许

至此,跨域问题已解决