Django--Form组件使用出现的小bug记录--username拿到None
form过滤代码:
class LoginForm(forms.Form):
username = forms.CharField(max_length=20,min_length=3,label='用户名',error_messages={
'required':'用户名不能为空!',
'invalid':'格式错误!',
'max_length':'用户名长度超限!',
'min_length':'用户名过短!'
}
,widget=forms.widgets.TextInput(attrs={'class':'form-control','style':'width:300px'})
)
password = forms.CharField(max_length=18,min_length=3,label='密码',error_messages={
'required':'密码不能为空!',
'invalid':'格式错误!',
'max_length':'密码长度超限!',
'min_length':'密码长度过短!',
}
,widget=forms.widgets.PasswordInput(attrs={'class':'form-control','style':'width:300px'})
)
def clean_username(self):
username = self.cleaned_data.get("username") # 错将这里的username写掉了一个字母
if username[0].isdigit():
self.add_error('username','用户名不能以数字开头!')
return username
def clean_password(self):
password = self.cleaned_data.get("password")
if password == '':
self.add_error('password','密码过于简单!')
return password
视图函数:
def login(request):
form_obj = LoginForm()
if request.method == "POST":
form_obj = LoginForm(request.POST)
print(form_obj.clean_data) #结果:{'username': None, 'password': '1234',}
百思不得其解,虽然知道是哪里出了问题,但是就是找不出来,哎哎,
def clean_username(self):
username = self.cleaned_data.get("username") # 错将这里的username写掉了一个字母
if username[0].isdigit():
self.add_error('username','用户名不能以数字开头!')
return username # 这里必须return 回去 不然clean_data里面的username的值就是None
这回长记性了,这里get错了,username拿到的就是个None啊,返回回去也是个None,擦泪~~~
Django--Form组件使用出现的小bug记录--username拿到None的更多相关文章
- django Form组件
django Form组件 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 小试牛刀 1.创建 ...
- 6月28日 Django form组件 和 modelform组件
Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否 ...
- 9.24 Django Form组件
2018-9-23 20:10:04 这两天优化了自己图书管理系统 github 连接:https://github.com/TrueNewBee/pythonDemo 顺便整理了博客,写了好多总结, ...
- Django—Form组件
Django From简介 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比 ...
- django form组件 cookies,session
django form组件 渲染标签 就是组件里面的字段在前端展示叫做渲染标签 校验数据 用户输入的数据提交给后端组件叫做校验数据 forms组件中定义的字段都是必须传值的(required=Tr ...
- Python Web框架篇:Django Form组件
Form简介 在HTTP中,表单(form标签),是用来提交数据的,其action属性说明了其传输数据的方法:如何传.如何接收. 访问网站时,表单可以实现客户端与服务器之间的通信.例如查询,就用到了表 ...
- Django Form组件 学生管理系统
from django.db import models # Create your models here. class Classes(models.Model): title=models.Ch ...
- Django——form组件和ModelForm
一.原生form实现书城增删改查 1.构建模型并完成数据库迁移 (1)构建书城模型 from django.db import models # Create your models here. # ...
- Web框架django[Form]组件
新手上路 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 小试牛刀 1.创建Form类 # 创 ...
随机推荐
- [Functional Programming] Using ComposeK for both get State and modify State
We have State like this: const state = { cards: [ { id: "green-square", color: "green ...
- P4160 [SCOI2009]生日快乐 搜索
思路:无脑搜索 提交:1次 题解: 大力搜索,枚举每个状态\((x,y,l)\)(\(x\)指分配到的长(可能比\(y\)要短),\(y\)指分配到的宽(可能比\(x\)要长),\(l\)指剩余切的次 ...
- 关于不用Hashtable
hashmap 与hashtable 很类似,主要区别是hashtable 有用synchronized进行线程同步,hashmap没有.然而,建议少用hashtable,在单线程中,无需做线程控制, ...
- 011_9*9 乘法表(编写 shell 脚本,打印 9*9 乘法表)
#!/bin/bashfor i in `seq 9`do for j in `seq $i` do echo -n "$i*$j=$[i*j] &q ...
- DbVisualizer 连接AS400
1.安装DbVisualizer 2.下载JTopen 里面会有jt400.jar http://sourceforge.net/projects/jt400/files/latest/downloa ...
- AT3913 XOR Tree(巧妙转换+状压dp)
Step1:首先定义一个点的权值为与其相连边的异或和.那么修改一条路径,权值改变的只有两个端点.边权都为0和点权都为0实质相同. Step2:那么现在和树的结构就没有什么关系了.每次选两个点,然后同时 ...
- (转)实验文档3:在kubernetes集群里集成Apollo配置中心
使用ConfigMap管理应用配置 拆分环境 主机名 角色 ip HDSS7-11.host.com zk1.od.com(Test环境) 10.4.7.11 HDSS7-12.host.com zk ...
- css 计算值函数
css有一些强大的函数: 1. calc 可以混合多种单位来计算 div { font-size: calc(100vw/5 + 1rem - 100px) } 2. max.min.clamp ma ...
- MySQL数据分析-(2)数据库的底层逻辑
(一) 数据库存在的逻辑 1.案例开篇-大部分公司对于数据和数字的管理都是低效率的 我们要学习数据库,就必须要搞清楚数据库是在什么样的情景下发明并流行的?学习新知识就要搞清楚每个知识点的来龙去脉,这样 ...
- scrapy框架之基础
一.安装scrapy 安装失败看博客>>>scrapy安装失败解决方案 pip install wheel pip install twisted pip install pywin ...