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类 # 创 ...
随机推荐
- django post请求 403错误解决方法
--摘 第一次用Django做项目,遇到了很多问题. 今天遇到的问题是Django在处理post请求时多次出现403错误. 我先描述一下问题出现的环境:我用Django写了一个web服务端,姑且称它为 ...
- django加载本地html
django加载本地html from django.shortcuts import render from django.http import HttpResponse from django. ...
- MyBankgon功能
.帐户类 User 复制代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; ...
- 智能指针share_ptr记录
shared_ptr 是一个共享所有权的智能指针,允许多个指针指向同一个对象.shared_ptr 对象除了包括一个对象的指针,还包括一个引用计数器.当每给对象分配一个share_ptr的时候,引用计 ...
- python第三方库的更新和安装指定版本
安装指定版本: pip install openpyxl==2.3.4 更新到最新版本: pip install --upgrade openpyxl
- Codeforces Round #599 (Div. 2) A,B1,B2,C 【待补 D】
排序+暴力 #include<bits/stdc++.h> using namespace std; #define int long long #define N 1005000 int ...
- 页面的beforeunload和unload的事件应用
博主最近遇到一个需求,需要在用户离开之前给一个提示,是否确认离开,并且用户确认离开的话,需要发出一个请求 下面直接上代码: <!DOCTYPE HTML> <html> < ...
- Feeding Chicken
D - Feeding Chicken 从左上角开始,往右下角开始遍历,但是遍历的时候需要注意一点,就是遍历的时候需要连起来,就比如第一行从左往右进行遍历,但是第二行不能从左往右了,因为这样就分开了, ...
- jar包中的依赖jar版本冲突
背景,项目中之前引入了一个 图片上传的jar <groupId>commons-fileupload</groupId> <artifactId>commons-f ...
- ReactiveCocoa实践
1.按钮addTarget [[self.aDepositBtn rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNe ...