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类 # 创 ...
随机推荐
- javascript逻辑非(!/!!)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 组件化网页开发 / 步骤一 · 4-4 匹配HTML标签
组件化网页开发 / 步骤一 · 4-4 匹配HTML标签
- json读写
import json l = [,,}] print(json.dumps(l)) d = dict(b=None,a=,c='abc') print(json.dumps(d, separator ...
- sql server 存储过程的详解
SqlServer存储过程详解 1.创建存储过程的基本语法模板: if (exists (select * from sys.objects where name = 'pro_name')) dro ...
- 牛客小白月赛11 Rinne Loves Edges
题库链接:https://ac.nowcoder.com/acm/contest/370/F code: #include<bits/stdc++.h> using namespace s ...
- leetcode解题报告(7):Valid Parentheses
描述 Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the i ...
- Jenkins系统初始化配置
1.点击系统管理-->全局安全配置 2.设置允许用户注册,点击保存 3.配置全局工具 4.配置maven文件路径,使用文件系统中的settings文件 5.配置jdk 6.配置maven 7.我 ...
- 计算机中buffer和cache的理解
Linux中Buffer和Cache的区别 Cache 和 Buffer的区别 作者:知乎用户链接:https://www.zhihu.com/question/26190832/answer/323 ...
- MySQL的概述和基础(学习整理)
1. 数据库基本概念 数据库(DataBase,DB)是用来存储和管理数据的仓库.与其他种类存储和管理数据的方式有所不同的是,数据库是兼持久化存储数据.便捷存储管理数据.使用统一的方式操作数据库几个特 ...
- 本地项目文件通过git提交到GitHub上
参考:https://blog.csdn.net/kongying19910218/article/details/50515834 步骤: 1.初始化git,假如我们要提交test文件夹下的所有目录 ...