数据校验

1203 forms组件

半世苍凉 提交于 2019-12-06 10:54:30
目录 昨日内容 多对多三种创建方式 1.全自动 好处 缺点 2.纯手动 好处 缺点 3.半自动 through='',through_fields=(外键字段) 好处 缺点 forms组件 1.简单引入 2.forms组件作用 2.1 校验数据 2.2 渲染标签 2.3 展示信息 2.4 校验数据补充 补充知识点 其他字段及参数 initial error_messages password radioSelect 单选Select 多选Select 单选checkbox 多选checkbox choice字段注意事项 多对多三种创建方式 forms校验性组件 django settings源码 昨日内容 ajax结合sweetalert 自己写一个删除按钮的确认框 去github上下载sweetalert源码 你只需要使用里面dist文件夹 gitlab 公司自己搭建 码云 参考示例书写即可 二次开发能力 基于人家已经写好的功能修改 1.先看别人的配置参数 2.前期就是猜 3.整体修改 linux redis mongodb github git 批量处理 bulk_create() 当你要批量操作数据库的时候 一定要减少走数据库的频率 数据的分页展示 django其实有内置的分页模块 但是该模块不好用,书写麻烦,功能不健全 自定义分页 1.queryset支持切片操作 2

forms组件

久未见 提交于 2019-12-06 10:54:02
forms组件 Pycharm自带测试环境:Python Console 主要作用 渲染标签 校验数据 展示信息 使用 首先先写一个自己的类 #后端创建自定义类 from django import forms class MyForm(forms,Form): username = forms.CharField(max_length=8,min_length=3,label="username") password = forms.CharField(max_length=8,min_length=3,label="password") email = forms.EmailField() gender = forms.ChoiceField( choices=((1, "男"), (2, "女"), (3, "你"), ), label="gender", initial=2, widget=forms.widgets.Select() ) 校验数据 #此部分实验在Python Console中进行 #先导入views中的MyForm from app01 import views #实例化一个对象, form_obj = views.MyForm({"username":"agsol","password","gender":1}) #判断是否有效 form_obj.is

1203

你。 提交于 2019-12-06 10:54:00
目录 一、多对多创建的三种方式 1.全自动 2.半自动 3.纯手动 二、from组件 1. forms组件的3大作用 2. 渲染标签 (1)前端渲染标签的3种方式 (2)后端写法 (3)forms基本使用实例: 3. 校验数据 4. 展示错误信息 三、forms组件的约束条件和错误信息 1. 约束条件和错误信息的书写 2. 其他约束数据的方式 (1) HOOK (钩子函数) (2)选择类的input框 一、多对多创建的三种方式 1.全自动 当表数据不复杂,一般情况下可以使用全自动,即Django会自动创建第三张关系表。 优点:全部是orm自动操作的,可以跨表查询并且内置了四个操作方法,add、remove、set、clear 缺点:自动创建的第三张表无法扩展修改字段,表的扩展性差 class Book(models.Model): name = models.CharField(max_length=32) # 使用ManyToManyField自动创建多对多关系 authors = models.ManyToManyField(to='Authors') class Authors(models.Model): name = models.CharField(max_length=32) 2.半自动 需要对第三张表做一定扩展时,推荐使用该方法创建多对多关系

12.03

牧云@^-^@ 提交于 2019-12-06 10:51:49
目录 多对多三种创建方式 全自动 纯手撸 半自动 forms 校验性组件 form组件的常用字段 form组件的主要功能: 校验数据 渲染标签 展示信息 内置的校验器 钩子函数 局部钩子 全局钩子 多对多三种创建方式 全自动 class Book(models.Model): title = models.CharField(max_length=32) authors = models.ManyToManyField(to='Authors') class Authors(models.Model): name = model.CharField(max_length=32) 好处: orm自动创建第三张表 内置了四个操作第三张表的方法 add remove set clear 坏处: 自动创建的第三张表无法修改字段,表的扩展性差 纯手撸 class Book(models.Model): title = models.CharField(max_length=32) class Authors(models.Model): name = models.CharField(max_length=32) class Book2Authors(models.Model): book = models.ForeignKey(to="Book") author = models

vue笔记(五)表单验证

ぃ、小莉子 提交于 2019-12-06 10:42:40
这里以验证两次密码是否一致,来记录vue表单验证写法。 一、首先这里使用 Element UI 的表单验证,基本用法如地址:http://element-cn.eleme.io/#/zh-CN/component/form 二、然后查看示例代码,了解对应的属性,方法,事件。 三、拷贝示例代码然后简化,如下: <div> <el-form :model="ruleForm" :rules="demoRules" ref="ruleForm" size="mini"> <el-form-item label="验证用户名" prop="name"> <el-input v-model="ruleForm.name"></el-input> </el-form-item> <el-form-item label="再次输入" prop="nameAgain"> <el-input v-model="ruleForm.nameAgain"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitBtn">提交</el-button> <el-button @click="resetBtn">重置</el-button> </el-form-item> </el-form> <

vue表单校验

扶醉桌前 提交于 2019-12-06 10:36:07
1.npm安装vue-validator 代码示例: 2.直接使用script标签引入vue.js 要下载vue-validator,那么进入cdn的地址https://cdn.bootcss.com/vue-validator/2.1.3/vue-validator.js把内容复制下来就好了。版本使用了2.1.3,不要搞错了哦。 下面是简单的小例子。 将要验证的表单包裹在validator自定义元素指令中,而在要验证的表单控件元素的 v-validate 属性上绑定相应的校验规则。 验证结果会保存在组建实例的 myForm 是由 validator 元素和 name 属性和 $ 前缀组件。 注意哦 ,这个校验在2.1.3版本并不依赖v-model指令。 3.验证结果的结构 使用上面的例子。 显示的内容是: 这些校验属性分别是什么意思: valid:字段校验是否通过 invalid:取反、 touched:校验字段所在元素获得过焦点返回truke,否则返回false untouched:touched取反 modified:当元素值与初始值是否相同 dirty:字段值改变过至少一次返回true,否则返回false pristine:dirty取反 表单整体校验单独的属性: errors:如果整体校验没通过,则返回错误字段信息数组。否则返回undefined。 4.验证器语法 (1

Spring MVC

霸气de小男生 提交于 2019-12-06 04:21:29
Spring MVC概述 Spring MVC是spring框架的后续产品,是一个基于MVC的web框架,远超struts2; 了解Spring MVC框架处理流程图(策略模式) Spring MVC核心功能(见son3模块) 爆400 -> 客户端错误; 请求映射; 方法返回值; 参数绑定:在springmvc中,data从ui到db,再反之; 转换器; 数据校验:有js校验,更安全的在控制器校验,service还可以自定义异常,dao不做这些; 数据回显:分为离散的数据、pojo; 异常处理:统一抛给一个异常处理器,不用每个都try catch了; 拦截器:类似过滤器。可以做操作日志、未登录拦截等; 文件上传; json数据交互; RESTful:表述性状态传递,一种软件架构风格,前后端分离; 跨域; 链接 数据校验: https://blog.csdn.net/eson_15/article/details/51725470 相关知识和问题 数据校验为什么读properties文件错误,编码问题? 来源: https://www.cnblogs.com/yyjh/p/11961546.html

KOHANA3.3 ORM中文详解

时间秒杀一切 提交于 2019-12-06 00:47:41
ORM === 校验: 1.ORM内部为强制校验 2.ORM外部校验 (保存,更新,插入时校验) 过滤: 校验不在包含过滤功能 参数及方法变更: 1.find不在带参数 2.save拆分为create跟update,并增加校验类参数,规则为覆盖叠加 3.factory为ORM重写,可传两参数,用MODEL只有一个参数 4.find等查找不可用于已有实体的ORM 5.校验过滤规则的转变 6.unique指定字段的唯一判断函数 融合数据库操作: 数据库的CURD操作增加方法,方便使用. 方法及说明: A:ORM自动维护 字段缓存 $_column_cache 初始化缓存配置 $_init_cache 必要校验模型 $_validation 当前操作实体 $_object 是否有更改 $_changed 原数据(从数据库获取,并未更改的数据) $_original_values 自动加载的关系ORM $_related 是否通过内置必要校验 $_valid 是否加载实体成功 $_loaded 是否保存成功 $_saved 排序用存放字段 $_sorting 当前对象名 $_object_name 复写辅助对象 $_object_plural 表字段 $_table_columns 当前KEY中的值 $_primary_key_value 以下为映射到数据库操作相关属性: $_db

如何设计一个安全的对外接口

为君一笑 提交于 2019-12-05 19:35:51
前言 最近有个项目需要对外提供一个接口,提供公网域名进行访问,而且接口和交易订单有关,所以安全性很重要;这里整理了一下常用的一些安全措施以及具体如何去实现。 安全措施 个人觉得安全措施大体来看主要在两个方面,一方面就是如何保证数据在传输过程中的安全性,另一个方面是数据已经到达服务器端,服务器端如何识别数据,如何不被攻击;下面具体看看都有哪些安全措施。 1.数据加密 我们知道数据在传输过程中是很容易被抓包的,如果直接传输比如通过http协议,那么用户传输的数据可以被任何人获取;所以必须对数据加密,常见的做法对关键字段加密比如用户密码直接通过md5加密;现在主流的做法是使用https协议,在http和tcp之间添加一层加密层(SSL层),这一层负责数据的加密和解密; 2.数据加签 数据加签就是由发送者产生一段无法伪造的一段数字串,来保证数据在传输过程中不被篡改;你可能会问数据如果已经通过https加密了,还有必要进行加签吗?数据在传输过程中经过加密,理论上就算被抓包,也无法对数据进行篡改;但是我们要知道加密的部分其实只是在外网,现在很多服务在内网中都需要经过很多服务跳转,所以这里的加签可以防止内网中数据被篡改; 3.时间戳机制 数据是很容易被抓包的,但是经过如上的加密,加签处理,就算拿到数据也不能看到真实的数据;但是有不法者不关心真实的数据,而是直接拿到抓取的数据包进行恶意请求

第五章、drf-JWT认证

☆樱花仙子☆ 提交于 2019-12-05 18:57:30
目录 JWT认证 JWT认证方式与其他认证方式对比: 优点 格式 drf - jwt 插件 官网 安装 token的签发与校验初识: 签发token 校验token 自定义drf-jwt配置 settings.py 案例:实现多方式登陆签发token 总结: 案例:自定义认证反爬规则的认证类 总结: JWT认证 JWT认证方式与其他认证方式对比: 优点 1) 服务器不要存储token,token交给每一个客户端自己存储,服务器压力小 2)服务器存储的是 签发和校验token 两段算法,签发认证的效率高 3)算法完成各集群服务器同步成本低,路由项目完成集群部署(适应高并发) 格式 1) jwt token采用三段式:头部.载荷.签名 2)每一部分都是一个json字典加密形参的字符串 3)头部和载荷采用的是base64可逆加密(前台后台都可以解密) 4)签名采用hash256不可逆加密(后台校验采用碰撞校验) 5)各部分字典的内容: 头部:基础信息 - 公司信息、项目组信息、可逆加密采用的算法 载荷:有用但非私密的信息 - 用户可公开信息、过期时间 签名:头部+载荷+秘钥 不可逆加密后的结果 注:服务器jwt签名加密秘钥一定不能泄露 签发token:固定的头部信息加密.当前的登陆用户与过期时间加密.头部+载荷+秘钥生成不可逆加密 校验token:头部可校验也可以不校验