HOBBY

Django Form and ModelForm

∥☆過路亽.° 提交于 2020-04-22 07:57:36
Form介绍 在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息.。 Django form组件就实现了上面所述的功能。 总结一下,其实form组件的主要功能如下: 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 普通方式手写注册功能 views.py # 注册 def register(request): error_msg = "" if request.method == " POST " : username = request.POST.get( " name " ) pwd = request.POST.get( " pwd " ) # 对注册信息做校验 if len(username) < 6 : # 用户长度小于6位 error_msg = " 用户名长度不能小于6位 " else : # 将用户名和密码存到数据库 return HttpResponse( " 注册成功 " ) return render(request, " register.html " , { " error_msg " : error_msg}

Django Form and ModelForm

天大地大妈咪最大 提交于 2020-04-22 07:54:20
Form介绍 在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息.。 Django form组件就实现了上面所述的功能。 总结一下,其实form组件的主要功能如下: 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 普通方式手写注册功能 views.py # 注册 def register(request): error_msg = "" if request.method == " POST " : username = request.POST.get( " name " ) pwd = request.POST.get( " pwd " ) # 对注册信息做校验 if len(username) < 6 : # 用户长度小于6位 error_msg = " 用户名长度不能小于6位 " else : # 将用户名和密码存到数据库 return HttpResponse( " 注册成功 " ) return render(request, " register.html " , { " error_msg " : error_msg}

Django的学习进阶(三)————ORM

只谈情不闲聊 提交于 2020-04-18 06:51:48
django框架是将数据库信息进行了封装,采取了 类——>数据表 对象——>记录 属性——>字段 通过这种一一对应方式完成了orm的基本映射 官方文档: https://docs.djangoproject.com/en/2.2/ 一、表单 models中每一个继承于models.Model的类就是一张数据表 如:class AddressInfo就是一张关于地址的数据表 官方文档: https://docs.djangoproject.com/en/2.2/topics/db/models/ 二、字段 文档地址: https://docs.djangoproject.com/en/2.2/ref/models/fields/ (1)字段设计 1.自增长字段(default=int) # 自增长字段 Auto = models.AutoField() # 默认为整型 BigAuto = models.BigAutoField() # 比Auto大 2.二进制的数据 # 二进制字段 Binary = models.BinaryField() # 二进制字段 3.boolean类型 # Boolean类型 Boolean = models.BooleanField() # 不为空 NullBoolean = models.NullBooleanField() # 为空 4.整型 #

Bootstrap4 面包屑导航+表单+输入框组+自定义表单

╄→尐↘猪︶ㄣ 提交于 2020-04-17 21:08:25
Bootstrap4 面包屑导航(Breadcrumb) < ul class ="breadcrumb" > < li class ="breadcrumb-item" >< a href ="#" > item1 </ a ></ li > < li class ="breadcrumb-item" >< a href ="#" > item2 </ a ></ li > < li class ="breadcrumb-item" >< a href ="#" > item3 </ a ></ li > </ ul > 也可以不用列表形式 < nav class ="breadcrumb" > < a href ="#" class ="breadcrumb-item" > item1 </ a > < a href ="#" class ="breadcrumb-item" > item2 </ a > < a href ="#" class ="breadcrumb-item" > item3 </ a > </ nav > Bootstrap4 表单 堆叠表单 < form action ="" > < div class ="form-group" > < label for ="" > username </ label > < input type ="text"

七、Python入门-面向对象

穿精又带淫゛_ 提交于 2020-04-14 15:41:00
【推荐阅读】微服务还能火多久?>>> 面向对象 认识面向对象    概念: 面向 对象 (Object Oriented)是 软件开发方法 。   特征: 封装 继承 多态 类的创建   类包括属性和方法。   属性包括实例变量和类变量 类的实例化   实例化是指在面向对象的编程中,把用类创建对象的过程称为实例化。是将一个抽象的概念类,具体到该类实物的过程 self关键字和初始化方法   self:隐式将对象作为参数传递self,所以在实例化对象时不需要传递,表示当前对象 # 7.2.类的创建 class Dog(object): typee = " 宠物 " # 类变量 # 初始化方法 def __init__ (self, name,age,color): # self表示当前对象 self.name = name # 实例变量(属性) self.age = age self.color = color # 普通方法 def eat(self): print (self.name, " 啃骨头! " ) def run(self,speed): print ( " {0}{1}跑路 " .format(self.name,speed)) # 格式化输出 print (self.name+speed+ " 跑路 " ) # ↑相当于print(dog.name+speed+"跑路

python基础-字典的增删改查

女生的网名这么多〃 提交于 2020-04-12 15:57:08
字典 字典的创建方式: # 方式一: dict1 = dict((( "one", 1), ( "two", 2), ( "three", 3))) print(dict1) # {'one': 1, 'two': 2, 'three': 3} # 方式二: dict2 = dict(one = 1, two = 2, three = 3) print(dict2) # {'one': 1, 'two': 2, 'three': 3} # 方式三: dict3 = { "one": 1, "two": 2, "three": 3} print(dict3) # 方式四: dict4 = dict({ "one": 1, "two": 2, "three": 3}) print(dict4) 可变、不可变数据类型: 可变数据类型:list,dict,set 不可变数据类型:int bool str tuple # 字典的键必须是不可变数据类型 dict5 = {[ 1, 2, 3]: 12, 1: "lisi"} print(dict5) # TypeError: unhashable type: 'list' 字典的键必须唯一: # 字典的键必须唯一 否则后边键的值会把前边同名键的值覆盖掉 dict6 = { 1: 1, 1: 2, 2: 3} print(dict6) # {1:

五、Python入门-函数与模块

元气小坏坏 提交于 2020-04-11 17:11:38
函数与模块 函数的定义   def 函数名(参数):     主体     return 返回值 函数参数传递   1.顺序传入   2.关键字   3.默认参数     默认参数必须放到参数列表末位   4.不定长参数 def show(name,age,sex,hobby): print ( " 我叫: " ,name, " 年龄: " ,age, " 性别: " ,sex, " 爱好: " ,hobby) # 顺序传入 show( " 张三 " ,18, " 男 " , " 打球 " ) # 关键字 # show(hobby="打球","张三",sex="男",age=18) #× show( " 张三 " ,hobby= " 打球 " ,sex= " 男 " ,age=18) # √ show(name= " 张三 " ,hobby= " 打球 " ,sex= " 男 " ,age=18 ) # 最好统一传参方式 # 默认参数,默认参数必须放到参数列表末位 def show2(name,age,sex,hobby= " 篮球 " ): print ( " 我叫: " ,name, " 年龄: " ,age, " 性别: " ,sex, " 爱好: " ,hobby) show2( " 张三 " ,18, " 男 " ) # 不定长参数 def myAdd(* args):

MySQL进阶三板斧(三)看清“触发器 (Trigger)”的真实面目

给你一囗甜甜゛ 提交于 2020-04-11 11:43:02
触发器(Trigger)的起源 MySQL是最受欢迎的开源RDBMS,被社区和企业广泛使用。触发器是MySQL在5.0.1(开天辟地一版本)中增加的三大新功能之一,另外两个师兄弟是视图(view)与存储过程(procedure)。均属于相对“高级”一点的数据库必需功能。 目录 一、什么是触发器 MySQL触发器的作用 二、触发器语法 1. 创建语法四要素 2. 语法公式 3. 语法参数说明 4. NEW 与 OLD关键字详解 三、实际应用 1. 数据准备 2. 使用案例 # Insert触发器 - 级联插入 # Delete触发器 - 级联删除 # Update触发器 - 实时更新 四、触发器有哪些缺陷 @江湖中人 五、总结 一、什么是触发器 触发器(trigger): 监视某种情况,并触发执行某种操作。 触发器是在表中数据发生更改时自动触发执行的,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,例如当对一个表进行操作(insert,delete, update)时就会激活它执行。也就是说触发器 只执行DML事件 (insert、update和delete) MySQL触发器的作用 1. 安全性。可以基于数据库的值使用户具有操作数据库的某种权利。 可以基于时间限制用户的操作,例如不允许下班后和节假日修改数据库数据。

至18岁以前的自己

别说谁变了你拦得住时间么 提交于 2020-04-10 13:34:27
好久没写blog了。 疫情期间困在家里,逐渐开始胡思乱想,同时避免不了产生了孤独感,开始在qq上主动寻找别人聊天,寻找一个较为恰当自然的话题开始对话等等。 最近无意间翻到自己两年前写的信,写信的对象是未来的自己。 To better prospect the future, to transfer my current thoughts to my future soul, to prevent some negative intentions from spoiling my life, I write this letter, to motivate, to encourage the boy, who has grown up, and has become a more mature one. Dear Eden: It is 2018/10/20 right now. I have just finished a contest on "codeforces.com". Maybe you have been apart from this website for a long time, but I strongly suggest you pick up this hobby which practises your thinking ability and make

至18岁以前的自己

倾然丶 夕夏残阳落幕 提交于 2020-04-10 13:34:09
好久没写blog了。 疫情期间困在家里,逐渐开始胡思乱想,同时避免不了产生了孤独感,开始在qq上主动寻找别人聊天,寻找一个较为恰当自然的话题开始对话等等。 最近无意间翻到自己两年前写的信,写信的对象是未来的自己。 To better prospect the future, to transfer my current thoughts to my future soul, to prevent some negative intentions from spoiling my life, I write this letter, to motivate, to encourage the boy, who has grown up, and has become a more mature one. Dear Eden: It is 2018/10/20 right now. I have just finished a contest on "codeforces.com". Maybe you have been apart from this website for a long time, but I strongly suggest you pick up this hobby which practises your thinking ability and make