Bootstrap

Django中的Form表单

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()

;