Django+uni-app实现数据通信中的请求跨域的示例代码

yipeiwu_com6年前Python基础

前后端分离的模式下,后端使用Django RestFramework,前端使用uni-app来进行APP的开发。

前端代码:

Django后端跨域配置

settings.py配置文件中添加:

INSTALLED_APPS = [

'corsheaders',
]

中间件中添加

'corsheaders.middleware.CorsMiddleware',
# 注意顺序 一定是在common中间件的前面
MIDDLEWARE = [

# 'accounts.MyCsrfMiddleware.CORSMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
# 注意顺序 一定是在common中间件的前面
'django.middleware.common.CommonMiddleware',
]

settings.py最末尾添加:

CORS_ORIGIN_ALLOW_ALL = True

允许携带cookie:

CORS_ALLOW_CREDENTIALS = True



测试跨域访问是否成功的视图函数

`def test(request):
  return JsonResponse({"status": 0, "message": "This is Django Message!"})
`

rom django.contrib import admin

URL

from django.urls import path
from django.conf.urls import url, include

urlpatterns = [

  # test ok
  url(r'test/', views.test),

]

测试,在Hbuilder中启动前端项目,同时后端项目也启动

问题:


原因

请求头的问题


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解python while 函数及while和for的区别

详解python while 函数及while和for的区别

1.while循环(只有在条件表达式成立的时候才会进入while循环) while 条件表达式:   pass while 条件表达式:   pass else:   pass 不知道...

python为tornado添加recaptcha验证码功能

复制代码 代码如下:    from urllib.request import urlopen    from urllib...

Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法

Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法

本文实例讲述了Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm': Invalid argument的解决方法。分享给大...

实例讲解Python脚本成为Windows中运行的exe文件

将程序转换为exe文件 我们先来介绍如何使用工具Pyinstaller 安装Pyinstaller 我们用pip安装Pyinstaller 。 注意,如果使用Pyinstaller,则应...

python通过zabbix api获取主机

zabbix强大地方在于有强大的api,zabbix 的api可以拿到zabbix大部分数据,目前我所需的数据基本可以通过api获取,以下是通过zabbix api获取的主机信息pyth...