Django配置跨域并开发测试接口


Posted in Python onNovember 04, 2020

1.跨域原理

1. 首先浏览器安全策略限制js ajax跨域访问服务器

2. 如果服务器返回的头部信息中有当前域:

// 允许 http://localhost:8080 这个网站打开的页面中的js访问我
Access-Control-Allow-Origin: http://localhost:8080
// 允许携带cookie访问我
Access-Control-Allow-Credentials: true

那么, 浏览器可以让js 请求该服务器

Django配置跨域并开发测试接口

2.django cors设置:

1. 安装包
pip install django-cors-headers
2. 注册应用
INSTALLED_APPS = [
...
# 添加 django-cors-headers 使其可以进行 cors 跨域
'corsheaders'
]
3. 添加中间件
MIDDLEWARE = [
# 放在中间件第一个
'corsheaders.middleware.CorsMiddleware',
...
]
4. 设置
# CORS跨域请求白名单设置
CORS_ORIGIN_WHITELIST = (
'http://127.0.0.1:8080',
'http://localhost:8080',
)
CORS_ALLOW_CREDENTIALS = True # 允许携带cookie

3.登录接口测试

3.1 user/usrs.py 中配置路由

urlpatterns = [
path('login/', views.login),
]

3.2 user/views.py 中写一个login视图函数

from django.http import JsonResponse
import json
def login(request):
body_dict = json.loads( request.body )

print(body_dict,8888888)

name = body_dict.get('name')

pwd = body_dict.get('pwd')

if not all([name, pwd]):


resp = {


"code": 1001,


"msg": '信息不全'


}


return JsonResponse(resp)

if name == 'zhangsan' and pwd == '123456':


resp = {



"code": 0,



"msg": '登录成功',



"data": {



"id": 1,



"name": '张三',



"age": 18



}


}


return JsonResponse(resp)

return JsonResponse({


"code": 1002,


"msg": '验证失败'

})

3.3 测试接口

1http://192.168.56.100:8888/user/login/

Django配置跨域并开发测试接口

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解使用python crontab设置linux定时任务
Dec 08 Python
python安装Scrapy图文教程
Aug 14 Python
python实现对指定输入的字符串逆序输出的6种方法
Apr 26 Python
python把数组中的数字每行打印3个并保存在文档中的方法
Jul 17 Python
python flask解析json数据不完整的解决方法
May 26 Python
Python中变量的输入输出实例代码详解
Jul 28 Python
Python实现图片批量加入水印代码实例
Nov 30 Python
python对Excel的读取的示例代码
Feb 14 Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
Feb 16 Python
浅谈盘点5种基于Python生成的个性化语音方法
Feb 05 Python
Python趣味爬虫之用Python实现智慧校园一键评教
May 28 Python
Python办公自动化之教你如何用Python将任意文件转为PDF格式
Jun 28 Python
Python基于Serializer实现字段验证及序列化
Nov 04 #Python
pycharm使用技巧之自动调整代码格式总结
Nov 04 #Python
利用Python pandas对Excel进行合并的方法示例
Nov 04 #Python
Python实现冒泡排序算法的完整实例
Nov 04 #Python
Lombok插件安装(IDEA)及配置jar包使用详解
Nov 04 #Python
基于OpenCV的路面质量检测的实现
Nov 04 #Python
Pycharm同步远程服务器调试的方法步骤
Nov 04 #Python
You might like
php正则preg_replace_callback函数用法实例
2015/06/01 PHP
PHP CodeIgniter分页实例及多条件查询解决方案(推荐)
2017/05/20 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
ie 处理 gif动画 的onload 事件的一个 bug
2007/04/12 Javascript
asp.net和asp下ACCESS的参数化查询
2008/06/11 Javascript
javascript复制对象使用说明
2011/06/28 Javascript
超链接的禁用属性Disabled使用示例
2014/07/31 Javascript
JavaScript 模块化编程(笔记)
2015/04/08 Javascript
深入理解JavaScript程序中内存泄漏
2016/03/17 Javascript
浅谈JavaScript对象与继承
2016/07/10 Javascript
简单谈谈require模块化jquery和angular的问题
2017/06/23 jQuery
详解使用angularjs的ng-options时如何设置默认值(初始值)
2017/07/18 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
vue 使用Jade模板写html,stylus写css的方法
2018/02/23 Javascript
详解vue-cli 本地开发mock数据使用方法
2018/05/29 Javascript
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
2018/06/05 jQuery
[01:09]DOTAPLUS——DOTA2的新时代
2018/04/04 DOTA
python实现简单点对点(p2p)聊天
2017/09/13 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
2018/01/24 Python
python邮件发送smtplib使用详解
2020/06/16 Python
python计算列表内各元素的个数实例
2018/06/29 Python
Python将字典转换为XML的方法
2020/08/01 Python
python+selenium爬取微博热搜存入Mysql的实现方法
2021/01/27 Python
基于Modernizr 让网站进行优雅降级的分析
2013/04/21 HTML / CSS
AURALog面试题软件测试方面
2013/10/22 面试题
应届大学毕业生找工作的求职信范文
2013/11/29 职场文书
成考报名单位证明范本
2014/01/16 职场文书
村级环境卫生整治方案
2014/05/04 职场文书
兴趣小组活动总结
2014/05/05 职场文书
幼儿老师求职信
2014/06/30 职场文书
村主任群众路线个人对照检查材料
2014/09/26 职场文书
python 遍历磁盘目录的三种方法
2021/04/02 Python
python爬虫之selenium库的安装及使用教程
2021/05/23 Python
mysql分组后合并显示一个字段的多条数据方式
2022/01/22 MySQL
python对文档中元素删除,替换操作
2022/04/02 Python
我国拿下天问一号火星着陆区附近 22 个地理实体命名:平乐、西柏坡、古田、漠河等
2022/04/29 数码科技