公开区就是你现在看到的这些页面:首页、作品、笔记、关于、联系。它们不需要登录, 任何人打开域名就能读。
结构
站点分成两块:
| 区域 | 路径 | 是否需要登录 |
|---|---|---|
| 公开前台 | /、/works、/notes、/about、/contact |
否 |
| 受保护分站 | /calendar/ |
是 |
| 管理后台 | /admin/ |
是(仅管理员) |
门户负责三件事:身份、权限、导航。真正的业务放在分站里,
分站有自己的蓝图、自己的数据库文件。加一个新分站,只要注册蓝图、
在 app/sites.py 里追加一条记录,首页的入口卡片和顶部导航就自动出现了。
技术选型
- Flask 做后端,模板用 Jinja2,服务端渲染
- SQLite 存数据,两个库分开:账号一个、日历一个
- 原生 CSS,没有框架、没有构建步骤,改一行刷新就生效
- Gunicorn 起 2 个 worker,Nginx 在前面做 TLS、限流和缓存
前端没有 Node.js,也没有打包工具。这是刻意的:小项目里,构建链带来的维护成本 通常高于它省下的那点代码。
内容怎么改
- 文案、作品、技能、时间线 →
app/portfolio.py,纯 Python 数据结构 - 笔记 → 往
public_content/丢一个.md文件,列表页自动出现 - 样式 →
app/static/public.css,颜色都收在:root的变量里
没有数据库、没有后台编辑器,改完刷新即可。