Django-Form表单
- 继承 django.forms.Form
- 可以通过 django.forms 定义表单属性
Form 的用途
Form 表单的配置步骤
- 在 应用下、新建一个
forms.py
, 在该模块下,定义当前应用下的 表单类
from django import forms
class ResourceCommentForm(forms.Form):
# 表单中的属性,要和 提交的属性保持一致
star = forms.IntegerField(min_value=1, max_value=5, required=True, label="星级")
# 评论的内容
content = forms.Textarea()
# 评论的资源
res_id = forms.IntegerField(label="资源的ID", required=True)
Form表单生成 表单页面
form = ResourceCommentForm()
form.as_table()
form.as_p()
form.as_ul()
form表单验证参数
from .forms import ResourceCommentForm
form = ResourceCommentForm(data=request.POST)
# 对提交的数据进行数据校验
if form.is_valid():
# 获取校验成功的数据, 返回字典 cleaned_data 属性必须先调用 is_valid ,否则 form表单没有该属性
param = form.cleaned_data
ModelForm
- 生成表单页面
- Model实现数据的新增
- Model实现数据的修改
使用 ModelForm实现数据的新增
form = ResourceCommentModelForm(data=request.POST)
# 对提交的进行校验
if form.is_valid():
# 获取校验成功的数据
# form.cleaned_data
# 获取modelform 对应的模型对象
resourceComment = form.instance
# 通过 模型对象 调用 save完成数据的新增
# resourceComment.save()
# 通过 form 对象,调用 save 完成数据的新增
form.save()
使用ModelForm实现数据的修改
resourceComment = ResourceComment.objects.get(pk=pk)
form = ResourceCommentModelForm(data=request.POST, instance=resourceComment)
# 对提交的进行校验
if form.is_valid():
# 获取校验成功的数据
# form.cleaned_data
# 获取modelform 对应的模型对象
resourceComment = form.instance
# 通过 模型对象 调用 save完成数据的新增
# resourceComment.save()
# 通过 form 对象,调用 save 完成数据的新增
form.save()