博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django--Form组件使用出现的小bug记录--username拿到None
阅读量:5152 次
发布时间:2019-06-13

本文共 1791 字,大约阅读时间需要 5 分钟。

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 == '123': 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,擦泪~~~

 

转载于:https://www.cnblogs.com/dongxixi/p/11048953.html

你可能感兴趣的文章
10.17-JavaScript
查看>>
网络通讯框架MINA和XSCOCKET的简单比较
查看>>
【iOS开发-91】GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例...
查看>>
Opencv on Ubuntu (from Ubuntu)
查看>>
从Ubuntu12.04升级到Ubuntu 14.04之后,系统将无法启动
查看>>
Redis源代码分析(十)--- testhelp.h小测试框架和redis-check-aof.c日志检测
查看>>
屏幕分辨率(QQVGA、QVGA、VGA、XGA、WXGA、WUXGA和WSXGA+)
查看>>
OpenStreetMap初探(一)——了解OpenStreetMap
查看>>
ubuntu下安装xlrd模块,Mysqldb模块
查看>>
sql语句查询数据库中的表名/列名/主键/自动增长值
查看>>
视觉slam领域经典综述和具体应用场景
查看>>
oracle语法查某个字段为空
查看>>
(转载)DevExpress ASPxGridView 使用文档三:编辑
查看>>
4.三角形面积
查看>>
Android 开发压缩图片
查看>>
CF750E 线段树+矩阵乘矩阵加
查看>>
第一章 引论---项目、项目组合和项目集
查看>>
Parlindromes UVa401
查看>>
listagg,vmsys.vm_concat与sys_connect_by_path函数
查看>>
逻辑回归算法
查看>>