59 lines
2.2 KiB
Python
59 lines
2.2 KiB
Python
|
|
"""网站配置模型"""
|
|||
|
|
from datetime import datetime
|
|||
|
|
from app import db
|
|||
|
|
|
|||
|
|
|
|||
|
|
class SiteConfig(db.Model):
|
|||
|
|
"""网站配置表"""
|
|||
|
|
__tablename__ = 'site_configs'
|
|||
|
|
|
|||
|
|
id = db.Column(db.Integer, primary_key=True)
|
|||
|
|
|
|||
|
|
# 基本信息
|
|||
|
|
site_name = db.Column(db.String(100), default='技术博客')
|
|||
|
|
site_subtitle = db.Column(db.String(200), default='分享技术,记录成长')
|
|||
|
|
site_logo = db.Column(db.String(500)) # Logo图片URL
|
|||
|
|
|
|||
|
|
# SEO设置
|
|||
|
|
site_keywords = db.Column(db.String(500))
|
|||
|
|
site_description = db.Column(db.Text)
|
|||
|
|
|
|||
|
|
# 底部信息
|
|||
|
|
footer_text = db.Column(db.String(200), default='© 2024 技术博客')
|
|||
|
|
footer_copyright = db.Column(db.String(200))
|
|||
|
|
footer_technology = db.Column(db.String(200), default='Powered by Flask')
|
|||
|
|
|
|||
|
|
# 底部宣传图片
|
|||
|
|
promo_image_1 = db.Column(db.String(500)) # 宣传图片1 URL
|
|||
|
|
promo_image_1_title = db.Column(db.String(100)) # 图片1标题/说明
|
|||
|
|
promo_image_1_link = db.Column(db.String(500)) # 图片1点击链接
|
|||
|
|
promo_image_2 = db.Column(db.String(500)) # 宣传图片2 URL
|
|||
|
|
promo_image_2_title = db.Column(db.String(100)) # 图片2标题/说明
|
|||
|
|
promo_image_2_link = db.Column(db.String(500)) # 图片2点击链接
|
|||
|
|
promo_image_3 = db.Column(db.String(500)) # 宣传图片3 URL(如二维码)
|
|||
|
|
promo_image_3_title = db.Column(db.String(100)) # 图片3标题/说明
|
|||
|
|
|
|||
|
|
# 联系方式
|
|||
|
|
contact_email = db.Column(db.String(100))
|
|||
|
|
contact_github = db.Column(db.String(100))
|
|||
|
|
|
|||
|
|
# 其他设置
|
|||
|
|
articles_per_page = db.Column(db.Integer, default=10)
|
|||
|
|
enable_comments = db.Column(db.Boolean, default=False)
|
|||
|
|
|
|||
|
|
# 时间戳
|
|||
|
|
created_at = db.Column(db.DateTime, default=datetime.utcnow)
|
|||
|
|
updated_at = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
|
|||
|
|
|
|||
|
|
def __repr__(self):
|
|||
|
|
return f'<SiteConfig {self.site_name}>'
|
|||
|
|
|
|||
|
|
@staticmethod
|
|||
|
|
def get_config():
|
|||
|
|
"""获取网站配置(单例)"""
|
|||
|
|
config = SiteConfig.query.first()
|
|||
|
|
if not config:
|
|||
|
|
config = SiteConfig()
|
|||
|
|
db.session.add(config)
|
|||
|
|
db.session.commit()
|
|||
|
|
return config
|