feat(公开内容): 添加公开内容功能,支持文档和软件下载,无需登录即可访问
This commit is contained in:
@@ -216,3 +216,37 @@ class SystemConfig(models.Model):
|
||||
"""获取系统配置,单例模式"""
|
||||
config, created = cls.objects.get_or_create(pk=1)
|
||||
return config
|
||||
|
||||
class PublicContentType(models.Model):
|
||||
"""公开内容类型"""
|
||||
name = models.CharField(max_length=20, unique=True, verbose_name="名称")
|
||||
created_at = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
|
||||
updated_at = models.DateTimeField(auto_now=True, verbose_name="更新时间")
|
||||
|
||||
class Meta:
|
||||
verbose_name = "公开内容类型"
|
||||
verbose_name_plural = "公开内容类型"
|
||||
ordering = ['name']
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
class PublicContent(models.Model):
|
||||
"""公开内容表"""
|
||||
type = models.ForeignKey(PublicContentType, on_delete=models.CASCADE, verbose_name="类型")
|
||||
title = models.CharField(max_length=200, verbose_name="标题")
|
||||
content = models.TextField(blank=True, null=True, verbose_name="内容")
|
||||
file = models.FileField(upload_to='public_files/', blank=True, null=True, verbose_name="上传文件")
|
||||
url = models.URLField(blank=True, null=True, verbose_name="链接地址")
|
||||
sort_order = models.IntegerField(default=0, verbose_name="排序")
|
||||
is_published = models.BooleanField(default=True, verbose_name="是否发布")
|
||||
created_at = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
|
||||
updated_at = models.DateTimeField(auto_now=True, verbose_name="更新时间")
|
||||
|
||||
class Meta:
|
||||
verbose_name = "公开内容"
|
||||
verbose_name_plural = "公开内容"
|
||||
ordering = ['sort_order', '-created_at']
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.type.name} - {self.title}"
|
||||
|
||||
Reference in New Issue
Block a user