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设计】的支持。

相关文章

CentOS中使用virtualenv搭建python3环境

问题描述 环境: CentOS6.5 想在此环境下使用python3进行开发,但CentOS6.5默认的python环境是2.6.6版本。 之前的做法是直接从源码安装python3,...

Python实现购物车购物小程序

Python实现购物车购物小程序

概要 按理说,我们入门的第一个小程序都应该是Hello World。因为比较简单,我这也就不做过多的演示 了。 下面是我写的一个小程序。主要用于练习Python的基本语法,以及入门。...

python交互式图形编程实例(二)

本文实例为大家分享了python交互式图形编程的第二部分代码,供大家参考,具体内容如下 #!/usr/bin/env python3 # -*- coding: utf-8 -*-...

Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例

本文实例讲述了Python实现对不原生支持比较操作的对象排序算法。分享给大家供大家参考,具体如下: 问题:想在同一个类的实例之间做排序,但是它们并不原生支持比较操作。 解决方案:使用内建...

Python 实现异步调用函数的示例讲解

async_call.py #coding:utf-8 from threading import Thread def async_call(fn): def wrapper...