优化更新

This commit is contained in:
2026-09-13 17:33:13 +08:00
parent 8be23a62a3
commit 7f758cc6e9
97 changed files with 2333 additions and 3595 deletions
+58 -1
View File
@@ -16,15 +16,32 @@ from django import forms
from application.example import models
# =============================================================
# 案例表单验证类
# =============================================================
class ExampleForm(forms.ModelForm):
"""
案例表单验证类
用于创建和更新案例信息时的表单验证。
验证字段包括:name, avatar, type, status, sort
包含案例名称, 案例图片, 案例类型等属性
验证字段包括:
- name: 案例名称
- avatar: 案例图片
- type: 案例类型
- status: 案例状态(1-正常, 2-禁用)
- sort: 排序
"""
# ----------------------------------------------------------
# 案例名称
# ----------------------------------------------------------
# 字段说明: 案例的名称
# 字段类型: 字符串(CharField)
# 验证规则: 必填(required=True),最大长度100字符
# 业务说明: 案例的核心标识字段,用于列表展示和搜索
name = forms.CharField(
required=True,
max_length=100,
@@ -34,7 +51,13 @@ class ExampleForm(forms.ModelForm):
}
)
# ----------------------------------------------------------
# 案例图片
# ----------------------------------------------------------
# 字段说明: 案例的图片
# 字段类型: 字符串(CharField)
# 验证规则: 可选(required=False),最大长度255字符
# 业务说明: 用于案例列表展示和详情页的图片
avatar = forms.CharField(
required=False,
max_length=255,
@@ -43,7 +66,13 @@ class ExampleForm(forms.ModelForm):
}
)
# ----------------------------------------------------------
# 案例类型
# ----------------------------------------------------------
# 字段说明: 案例的分类类型
# 字段类型: 整数(IntegerField)
# 验证规则: 必填(required=True),取值范围1-4
# 业务说明: 对案例进行分类管理,支持按类型筛选
type = forms.IntegerField(
required=True,
min_value=1,
@@ -55,7 +84,13 @@ class ExampleForm(forms.ModelForm):
}
)
# ----------------------------------------------------------
# 案例状态
# ----------------------------------------------------------
# 字段说明: 案例的显示状态
# 字段类型: 整数(IntegerField)
# 验证规则: 必填(required=True),取值范围1-2
# 业务说明: 1-正常, 2-禁用,控制案例是否在前端展示
status = forms.IntegerField(
required=True,
min_value=1,
@@ -67,7 +102,14 @@ class ExampleForm(forms.ModelForm):
}
)
# ----------------------------------------------------------
# 排序
# ----------------------------------------------------------
# 字段说明: 案例的排序权重
# 字段类型: 整数(IntegerField)
# 验证规则: 必填(required=True)
# 排序规则: 数值越小越靠前
# 业务说明: 手动控制案例在列表中的显示顺序
sort = forms.IntegerField(
required=True,
error_messages={
@@ -75,8 +117,23 @@ class ExampleForm(forms.ModelForm):
}
)
# =============================================================
# 表单元数据配置
# =============================================================
class Meta:
"""
表单元数据配置类
定义表单绑定的模型和需要验证的字段。
"""
# 绑定模型
# 指定该表单对应的数据模型为 Example(案例)
model = models.Example
# 指定需要验证的字段
# 只验证以下字段,其他字段不进行表单验证
fields = [
'name',
'avatar',