[oldboy-django][2深入django]初始Form组件
2024-09-02 06:41:42
http://www.cnblogs.com/wupeiqi/articles/6144178.html
1 初始Form组件
# Form验证(初始Form组件验证)
- 问题:
- 无法记住上次提交的内容,页面刷新数据消失
- 重复进行提交数据的校验(数据是否为空,长度大小等等) - 解决方法:django Form组件
- 定义规则(数据的格式,字段必须和表单上name属性一致)
class LoginForm(Form):
实例化对象obj = LoginForm(request.POST) - 数据检验
obj.is_valid() - 提供详细错误信息(可以自定制错误提示)
-- 自定制错误信息,在类定义的时候通过error_messages参数
obj.errors - 提供符合规则的信息(类型是字典,数据库orm操作支持类型是字典操作)
obj.cleaned_data - Form实例:
a.定义规则
from django.forms import Form, fields
class LoginForm(Form):
# 定义规则,fields是正则验证
# usernma和password必须和前端模板Form里面input的name一致
username = fields.CharField(required=True, max_length=16, min_length=6,
error_messages={
'required': '不能为空',
'max_length': '长度必须少于16',
'min_length': '长度必须大于6'
})
password = fields.CharField(required=True, min_length=8,
error_messages={
'required': '不能为空',
'min_length': '长度必须大于8'
})
b.使用
def login(request):
if request.method == 'GET':
return render(request, 'login.html')
else:
obj = LoginForm(request.POST)
# 检验提交数据是否符合规则
if obj.is_valid():
print(obj.cleaned_data)
# obj.cleaned_data是一个字典,form表单提交的数据
#{'password': 'aaaaaaaaaa', 'username': 'alexadfdda'}
return redirect('http://www.baidu.com')
else:
return render(request, 'login.html', {'error': obj.errors}) # 作业(登录,注册)最终版
- 保留上次输入的值
- 用户数据格式的验证
最新文章
- Markdown 新手指南
- jQuery总结(2016-7-4)
- ZendGuardLoader安装
- C++开源大全
- C++中的静态绑定和动态绑定
- Monyer.cn黑客小游戏
- [CareerCup] 14.1 Private Constructor 私有构建函数
- Data Flow ->;>; Raw File Source &; Raw File Destination
- 容器 list
- Java常用类(四)之数组工具类Arrays
- Linux 桌面玩家指南:04. Linux 桌面系统字体配置要略
- 在Centos中安装mysql
- Map<;String,Integer>;acount字符串出现的次数
- python语法_while循环_for循环
- mysqlbinlog恢复数据注意事项【转】
- Tomcat增加虚拟内存(转)
- Python——列表深浅拷贝
- restfull和传统http的区别
- QGis C++ 开发之创建临时图层并添加要素
- delete obj$
热门文章
- spark集群配置细则总结
- java基础编程——树的子结构
- jQuery Pagination分页插件--刷新
- C#的接口基础教程之四 访问接口
- sendmail安装与配置
- Centos 6版本Device eth0 does not seem to be present,delaying initialization.故障处理
- Tesseract-ocr视觉学习-验证码识别及python import pytesseract使用
- iOS SDK中使用NSXMLParser解析XML(iphone网络篇三)
- Green Space【绿色空间】
- python数据模型(特殊方法)