change front_web_view

This commit is contained in:
2025-10-28 10:39:08 +08:00
parent a36d730384
commit 90446cd330
8 changed files with 581 additions and 136 deletions

View File

@@ -3,6 +3,78 @@ from django.utils import timezone
import json
class SiteConfig(models.Model):
"""网站配置模型"""
BACKGROUND_SIZE_CHOICES = [
('cover', '覆盖整个区域'),
('contain', '完整显示图片'),
('100% 100%', '拉伸填满'),
('auto', '原始大小'),
]
BACKGROUND_POSITION_CHOICES = [
('center', '居中'),
('top', '顶部'),
('bottom', '底部'),
('left', '左侧'),
('right', '右侧'),
('top left', '左上角'),
('top right', '右上角'),
('bottom left', '左下角'),
('bottom right', '右下角'),
]
site_title = models.CharField(max_length=200, default="绿美泉烟绿色课堂", verbose_name="网站标题")
show_title = models.BooleanField(default=True, verbose_name="前台显示标题")
header_background_image = models.ImageField(
upload_to='site_config/',
blank=True,
null=True,
verbose_name="版头背景图片"
)
header_background_color = models.CharField(
max_length=7,
default="#667eea",
verbose_name="版头背景颜色"
)
header_background_size = models.CharField(
max_length=20,
choices=BACKGROUND_SIZE_CHOICES,
default='cover',
verbose_name="背景图片大小"
)
header_background_position = models.CharField(
max_length=20,
choices=BACKGROUND_POSITION_CHOICES,
default='center',
verbose_name="背景图片位置"
)
header_height = models.IntegerField(
default=200,
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 = "网站配置"
def __str__(self):
return f"网站配置 - {self.site_title}"
@classmethod
def get_config(cls):
"""获取网站配置,如果不存在则创建默认配置"""
config, created = cls.objects.get_or_create(
defaults={
'site_title': '绿美泉烟绿色课堂',
'header_background_color': '#667eea'
}
)
return config
class Website(models.Model):
name = models.CharField(max_length=100, unique=True)
base_url = models.URLField()