django中forms组件的使用与注意

yipeiwu_com6年前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中实现变量赋值传递时的引用和拷贝方法

iamlaosong文 曾经看到这样一个问题,一个字典中的元素是列表,将这个列表元素赋值给一个变量,然后修改这个列表中元素的值,结果发现,字典中那个列表也同样修改了。 那个问题如下:...

利用Python操作消息队列RabbitMQ的方法教程

前言 RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统。他遵循Mozilla Public License开源协议。 MQ全称为Message Queue, 消息队列(...

Django 全局的static和templates的使用详解

Django 全局的static和templates的使用详解

一、问题 首先我们在进行Django框架搭建的时候我们需要建立一个全局的变量,一是为了实现代码的复用,二是为了方便管理,如下图的样式 二、解决 1、修改setting里面的配置文件...

Python下线程之间的共享和释放示例

最近被多线程给坑了下,没意识到类变量在多线程下是共享的,还有一个就是没意识到 内存释放问题,导致越累越大 1.python 类变量 在多线程情况 下的 是共享的 2.python 类变量...

Python实现返回数组中第i小元素的方法示例

Python实现返回数组中第i小元素的方法示例

本文实例讲述了Python实现返回数组中第i小元素的方法。分享给大家供大家参考,具体如下: #! /usr/bin/env python #coding=utf-8 #期望为线性时间...