feat(公开内容): 添加公开内容功能,支持文档和软件下载,无需登录即可访问

This commit is contained in:
2026-03-09 15:11:45 +08:00
parent e568f92c3c
commit a3e9de5af2
10 changed files with 431 additions and 4 deletions

View File

@@ -8,7 +8,8 @@ from .models import (
FamilyTask,
TodayPlan,
SystemConfig,
FamilyMember
FamilyMember,
PublicContent
)
class ReadingRecordForm(forms.ModelForm):
@@ -109,4 +110,19 @@ class SystemConfigForm(forms.ModelForm):
if not re.match(email_pattern, recipient_email):
logger.warning(f"收件人邮箱格式不正确: {recipient_email}")
raise forms.ValidationError("请输入有效的邮箱地址格式如example@domain.com")
return recipient_email
return recipient_email
class PublicContentForm(forms.ModelForm):
"""公开内容表单"""
class Meta:
model = PublicContent
fields = ['type', 'title', 'content', 'file', 'url', 'sort_order', 'is_published']
widgets = {
'type': forms.Select(attrs={'class': 'form-select'}),
'title': forms.TextInput(attrs={'class': 'form-control', 'placeholder': '请输入标题'}),
'content': forms.Textarea(attrs={'class': 'form-control', 'rows': 5, 'placeholder': '请输入内容'}),
'file': forms.FileInput(attrs={'class': 'form-control'}),
'url': forms.URLInput(attrs={'class': 'form-control', 'placeholder': '请输入链接地址'}),
'sort_order': forms.NumberInput(attrs={'class': 'form-control', 'placeholder': '请输入排序值'}),
}