Django REST framework 序列化 简介使用序列化有四种方式 使用json模块,完全手写 使用django自带的序列化模块1,# from django.core import serializers2,# data=serializers.serialize(“json”,book_list) 使用REST framework 带的序列化方法,但是自己写规则BookSerializers(serializers.Ser 2021-08-18 Python > Django > DRF #Python #Django #DRF
Django REST framework 序列化-字段含义 官方原文链接本系列文章 github 地址 Serializer 字段 Form 类中的每个字段不仅负责验证数据,还负责 “清洗” 它 — 将其规范化为一致的格式。 序列化字段处理基本数据类型和其他数据类型(比如自定义的类)之间的转换。它们还可以对数据进行验证,以及从其父对象中检索和设置值。 注意: 序列化字段都声明在 fields.py 中,但按照惯例,应该使用 from rest_ 2021-08-18 Python > Django > DRF #Python #Django #DRF
Django REST framework 视图 上一部分代码在序列化部分 类继承顺序 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960############### mixins.py ################# 类中调用的方法均在 GenericAPIView 类 2021-08-18 Python > Django > DRF #Python #Django #DRF
Django REST framework 认证和权限组件 认证与权限组件身份验证是将传入请求与一组标识凭据(例如请求来自的用户或其签名的令牌)相关联的机制。然后 权限 和 限制 组件决定是否拒绝这个请求。 简单来说就是: 认证确定了你是谁 权限确定你能不能访问某个接口 限制确定你访问某个接口的频率 一、认证组件REST framework 提供的开箱即用的身份验证方案REST framework 提供了一些开箱即用的身份验证方案,并且还允许你实现自定 2021-08-18 Python > Django > DRF #Python #Django #DRF
Django REST framework 频率组件 频率限制组件DRF内置了基本的限制类,首先我们自己动手写一个限制类,熟悉下限制组件的执行过程。 默认配置123REST_FRAMEWORK = { 'DEFAULT_THROTTLE_CLASSES': [],} 自定义限制类123456789101112131415161718192021222324252627282930313233VISIT_RECORD = & 2021-08-18 Python > Django > DRF #Python #Django #DRF
JavaScript Promise 1、背景众所周知,JS是一个单线程语言,即同一时间只能做一件事情。而单线程就意味着所有任务需要排队,前一个任务结束,才会执行后一个任务。 由于这个“缺陷”,导致 JavaScript 的所有网络操作,浏览器事件,都必须是异步执行。异步执行可以用回调函数实现。比如我们想获取一个文件的内容并处理 123456function getFileByPath(fpath) { fs.read 2021-08-11 frontend > JavaScript #JavaScript #frontend
Vue axios 拦截器和 router 导航守卫的区别 导航守卫导航守卫只能在前端路由发生变化时作出判断,此时不一定会发起 ajax 请求,比如 检查请求头中是否带有token,但是不能判断token是否失效 判断该路由的访问,该用户是否需有权限登录该页面 axios 拦截器拦截的是 ajax 的请求 2021-08-11 Vue #Vue
Vue message this.message 弹出消息 示例 1234567this.$message({ message:"这是弹框消息", type:"success" }) // orthis.$message.success("这是弹框消息") 除了 success 之外,还有取值 warning(警告)/info(消息)/error(错误); 2021-08-11 Vue #Vue
Vue 使用 vscode 打包 第一步:进入Visual Studio Code界面,选择文件→首选项→设置 第二步: 如果设置显示的是 settings.json 文件,输入:”npm.enableScriptExplorer”:true,保存 如果设置显示的是图形界面,则找到 Enable Run From Folder 设置为选中 第三步:重启Visual Studio Code,重新进入界面,在左侧边菜单栏底部 2021-08-11 Vue #Vue
Vue 前后端分离跨域 因为前后端属于不同的域,导致每次ajax请求服务器都会当做新的用户访问,导致session丢失 解决方法 后端后端设置允许跨域,下面示例为 flask 12345678910111213@app.after_requestdef af_request(resp): """ #请求钩子,在所有的请求发生后执行,加入headers。 :param resp: :return: 2021-08-11 Vue #Vue
Vue-Router 之 1 route 和 router this.$route: 当前激活的路由的信息对象。每个对象都是局部的,可以获取当前路由的 path, name, params, query 等属性。 this.$router:全局的 router 实例。通过 Vue 根实例中注入 router 实例,然后再注入到每个子组件,从而让整个应用都有路由功能。其中包含了很多属性和对象(比如 history 对象),任何页面也都可以调用其 push( 2021-08-11 Vue #Vue
Vue-Router 之 2 router.addRoutes 动态添加路由 语法123router.addRoutes([路由配置对象])// 或者this.$router.addRoutes([路由配置对象]) Vue-router 的动态添加子路由的注意事项 格式必须为数组的形式。 addRoutes添加的路由必须为一级路由。 切莫用JSON方法深copy路由对象 把动态的路由也添加到 $router.options.routes 里 1. 格式必须为数组的形式 2021-08-11 Vue #Vue
Vue-Router 之 3 动态路由 动态路由实现方式前端控制 不用后端帮助,路由表维护在前端 逻辑相对比较简单,比较容易上手 后端控制 相对更安全一点 路由表维护在数据库 一、前端控制思路:在路由配置里,通过meta属性,扩展权限相关的字段,在路由守卫里通过判断这个权限标识,实现路由的动态增加,及页面跳转;如:我们增加一个role字段来控制角色 具体方案: 根据登录用户的账号,返回前端用户的角色 前端根据用户的角色,跟 2021-08-11 Vue #Vue
Vue-Router 之 4 导航守卫 Vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航。这里有很多方式植入路由导航中:全局的,单个路由独享的,或者组件级的。 全局前置守卫 router.beforeEach使用场景: 跳转前需要做校验的地方,如:进入首页前做登录校验,如果已登录则跳转首页,否则跳转登录页。需要写在main.js文件中,表示在所有路由被访问之前做校验; 动态生成路由,在访问之前动态获取路由信息并 2021-08-11 Vue #Vue
Vue-Router 实现原理之 Vue 修改了 url,但是没有发送请求 前端路由概念通过改变 URL,在不重新请求页面的情况下,更新页面视图。 vue-Router 两种模式更新视图但不重新请求页面,是前端路由原理的核心之一,目前在浏览器环境中这一功能的实现主要有 2 种方式: Hash:默认值,利用 URL 中的hash(“#”) http://localhost:8080/#/login history:利用URL中的路径(/home) http:// 2021-08-11 Vue #Vue
Vue-resource 和 vue-axios 拦截器 拦截器简介顾名思义,拦截器主要是拦截,放到 Vue 里面指对 Vue 发出的 http 请求和响应进行拦截,并可以对拦截的请求或响应做一些特殊的处理 拦截器能做的 添加统一的request的参数 比如header中加入 X-Requested-With,比如客户端需要实现sign和token的验证机制,比如你可以写 $http.get('/files', params),拦截器帮 2021-08-11 Vue #Vue
axios 官网地址:http://www.axios-js.com/zh-cn/docs 什么是 axios?Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。 特性 从浏览器中创建 XMLHttpRequests 从 node.js 创建 http 请求 支持 Promise API 拦截请求和响应 转换请求数据和响应数据 取消请求 自动转换 JSON 数 2021-08-11 nodejs #nodejs
vue 脚手架创建项目 1、前期准备 检查 node 是否安装 检查 npm 是否安装 12npm -vnode -v 2、设置国内源,这样你的下载速度会非常快:1234npm config set registry https://registry.npm.taobao.org// 查看源npm config list 3、安装 vue 和一些相关组件1234npm install @vue/cli -g// 2021-08-11 Vue #Vue
vue 配置文件 vue.config.js vue-config-js 官网简介 vue.config.js 简介vue-cli 脚手架搭建完成后,项目目录中没有 vue.config.js 文件,需要手动创建。 vue.config.js 是一个可选的配置文件,如果项目的根目录(和 package.json 同级)中存在这个文件,那么它会被 @vue/cli-service 自动加载。你也可以使用 package.json 中的 2021-08-11 Vue #Vue
Vue 插槽 1、element-UI 中如何获取当前行数据?123456<el-table-column prop label="操作"> <template slot-scope="scope"> <span class="edit"></span> <span class="delete" @click.prevent="deleteRo 2021-08-10 Vue #Vue