初始化技术博客项目
功能特性: - 前端文章展示 (Markdown渲染、代码高亮) - 后台管理系统 (文章、分类、标签、作者管理) - 图片上传 (点击、拖拽、粘贴) - 网站设置 (Logo、底部宣传图片上传) - 访问统计 (IP记录、趋势图表) - 参考来源、附件支持 - 单端口部署 (16012) 技术栈: - Flask 3.0 + SQLAlchemy - SQLite数据库 - marked.js + highlight.js (Markdown渲染) - Chart.js (统计图表)
This commit is contained in:
33
app/models/category.py
Normal file
33
app/models/category.py
Normal file
@@ -0,0 +1,33 @@
|
||||
"""分类模型"""
|
||||
from datetime import datetime
|
||||
from app import db
|
||||
|
||||
|
||||
class Category(db.Model):
|
||||
"""文章分类表"""
|
||||
__tablename__ = 'categories'
|
||||
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
name = db.Column(db.String(50), unique=True, nullable=False)
|
||||
slug = db.Column(db.String(50), unique=True, nullable=False)
|
||||
description = db.Column(db.String(200))
|
||||
sort_order = db.Column(db.Integer, default=0)
|
||||
|
||||
# 关联文章
|
||||
articles = db.relationship('Article', back_populates='category')
|
||||
|
||||
created_at = db.Column(db.DateTime, default=datetime.utcnow)
|
||||
|
||||
def __repr__(self):
|
||||
return f'<Category {self.name}>'
|
||||
|
||||
def to_dict(self):
|
||||
"""转换为字典"""
|
||||
return {
|
||||
'id': self.id,
|
||||
'name': self.name,
|
||||
'slug': self.slug,
|
||||
'description': self.description,
|
||||
'sort_order': self.sort_order,
|
||||
'article_count': len(self.articles)
|
||||
}
|
||||
Reference in New Issue
Block a user