django的forms组件的使用

33次阅读

共计 861 个字符,预计需要花费 3 分钟才能阅读完成。

forms 组件

导入相关模块
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 名跟数据库的一致才可以.

正文完
 0