django中forms组件的使用与注意

yipeiwu_com5年前Python基础

forms组件

django框架提供了一个Form类,来进行web开发中的表单提交数据的处理工作。

导入相关模块

from django import forms

from django.forms import fields

常规使用

class F1Form(forms.Form):
 username = fields.CharField(max_length=18,min_length=2,required=True)
 pwd = fields.CharField(required=True,max_length=16,min_length=6)
 age = fields.IntegerField(required=True)
 email = fields.EmailField(required=True)

自定义错误信息error_messages

class F1Form(forms.Form):
 username = fields.CharField(max_length=18,
 min_length=6,
 required=True,
 error_messages={
   'required':'用户名不能为空',
   'min_length':'用户名过短',
   'max_length':'用户名过长'
 }
 )

html的调用

views部分:

def rege(req):
 obj = F1Form()
 return render(req,'rege.html',{'OBJ':obj})

html部分:

<form action="">
 <p>{{ OBJ.username }}</p>
 <p>{{ OBJ.pwd }}</p>
 <p>{{ OBJ.age }}</p>
 <p>{{ OBJ.email }}</p>
</form>

后台数据验证:

obj = F1Form(req.POST)
if obj.is_valid(): #判断传来的值是否通过验证
 models.UserInfo.objects.create(**obj.cleaned_data) #将值写入数据库

~需要注意的是create(**obj.cleaned_data)方法写入数据库的方式,是在forms提交的name名跟数据库的一致才可以.

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【听图阁-专注于Python设计】的支持。

相关文章

为什么Python中没有"a++"这种写法

一开始学习 Python 的时候习惯性的使用 C 中的 a++ 这种写法,发现会报 SyntaxError: invalid syntax 错误,为什么 Python 没有自增运算符的这...

python中sys.argv函数精简概括

python中sys.argv函数精简概括

sys.argv函数通常用来读取命令行参数,其中保存了程序的文件名和命令行参数,读入的参数以元组的形式保存。下面以sys.argv[0],sys.argv[1],sys.argv[1:]...

详解Django CAS 解决方案

CAS单点登录主要是为了解决主系统和子系统的统一登录问题,能够做到任意一个子系统登录成功后,再登录其他子系统后不再需要认证,让用户不用重复地进行登录认证。CAS单点登录的方案很多,并且大...

python lambda表达式(匿名函数)写法解析

这篇文章主要介绍了python lambda表达式(匿名函数)写法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 # lamb...

Python3.5文件读与写操作经典实例详解

Python3.5文件读与写操作经典实例详解

本文实例讲述了Python3.5文件读与写操作。分享给大家供大家参考,具体如下: 1、文件操作的基本流程: (1)打开文件,得到文件句柄并赋值给一个变量 (2)通过句柄对文件进行操作...