Django Form 表单

Form 表单功能

生成HTML表单元素
检查表单元素的合法性
验证如果错误,重复显示表单
数据类型转换
检查表单元素的合法性
验证如果错误,重复显示表单
数据类型转换

Form相关的对象

Widget 渲染成HTML元素的工具
Field Form对象中的一个字段
Form 一系列Field对象的集合
Form Media 用来渲染表单的CSS与JS资源
Field Form对象中的一个字段
Form 一系列Field对象的集合
Form Media 用来渲染表单的CSS与JS资源

继承forms.Form实现表单功能

Form实例方法is_valid()检查表单是否合法, 合法数据会被放到cleaned_data属性中

 1 #继承创建表单示例
 2     
 3     #form.py
 4     from django import forms
 5     
 6 ​
 7     class RemarkForm(forms.Form):
 8         subject = forms.CharField(max_length=100 ,label='留言标题')
 9         mail = forms.EmailField(label='电子邮件')
10         topic = forms.ChoiceField(choices=(
11              ('leve1', '差评'),
12              ('leve2', '中评'),
13              ('leve3', '好评'),
14             ),label='选择评分')
15         message = forms.CharField(label='留言内容',widget=forms.Textarea)
16         cc_myself = forms.BooleanField(required=False ,label='订阅该贴')
17 #也可以在与model结合
18     
19     #student.py
20     class StudentModel(models.Model):
21         sname = models.CharField(max_length = 100,)
22     #模型与表单关联需要导入ModelForm模块
23     from django.forms import ModelForm
24      
25     class StudentForm(ModelForm):
26         class Meta:
27         model = StudentModel
28         fields = ('sname') #必须与model类的名字一样
29 #也可以在与model结合
30     
31     #student.py
32     class StudentModel(models.Model):
33         sname = models.CharField(max_length = 100,)
34     #模型与表单关联需要导入ModelForm模块
35     from django.forms import ModelForm
36      
37     class StudentForm(ModelForm):
38         class Meta:
39         model = StudentModel
40         fields = ('sname') #必须与model类的名字一样
41 #简单HTML
42 ​
43     <form action="{% url 'django_test:hello' %}">
44             {% for field in forms %}
45                 {{ field.label_tag }}:{{ field }}
46                 {{ field.errors }}
47             {% endfor %}
48             <input type="submit">
49     </form>
50 #Form实例属性
51     
52     {{ field.label_tag }} #表单元素标签
53     {{ field }} #表单元素体
54     {{ field.errors }} #表单元素错误
55  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值