当前位置: 首页 > 工具软件 > htmlPy > 使用案例 >

Django的Forms.py

朱保赫
2023-12-01

一: 创建项目, 创建app, 创建templates, 创建static, 配置好相关的路由

二: 在app文件夹中新建一个forms.py文件

forms.py是Django用来生成form表单代码和验证表单数据是否合法的一个文件, 可以在该文件中创建Form类, 实现自定义表单的功能

from django import forms


class EmailForm(forms.Form):
    # IntegerField自带的有一个widget,就是Form表单输入框的类型及相关属性,自带的是number类型的输入框
    # required 是否为必填参数
    # label 标签文本
    # 虽然自定义了输入框类型,但是验证的时候还是根据IntegerField进行验证
    # error_message 自定义错误信息
    subject = forms.IntegerField(required=True,label='邮件主题',widget=forms.TextInput(attrs={'class':'form-control','placeholder':'请输入邮件主题'}),error_messages={'invalid':'必须填入数字!'})
    # max_length 文本最大长度
    # min_length 最小文本长度
    message = forms.CharField(required=True,max_length=256,min_length=4,label='邮件内容',widget=forms.Textarea(attrs={'class':'form-control','placeholder':'请输入邮件内容'}))
    
    # 收件人地址  forms.EmailField()
    sender = forms.EmailField(required=True,label='收件人地址',widget=forms.TextInput(attrs={'class':'form-control','placeholder':'请输入收件人地址'}),error_messages={'invalid':"请填入正确的邮箱地址!"})
    
    # 布尔类型数据
    myself = forms.BooleanField(required=False,label='是否向自己发送')










三: 在views.py中构建其对象

from .forms import EmailForm


def index(request):
    form = EmailForm()
    return render(request, 'index.html', {'form': form})

四: 在templates文件夹下的html中

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="#">

    {{ form }}
{#    {{ form.subject }}#}
{#    {{ form.message }}#}
{#    {{ form.sender }}#}
{#    {{ form.myself }}#}
    <button type="submit">提交</button>
</form>
</body>
</html>

: 如果只写form的话, 它会默认的把forms.py里的所有表单创建出来, 反之, 一个一个的写就会把你所写表单展示出来.

 类似资料: