已上线

小露当码农 · 个人学习与作品网站

以 Django 构建可维护的内容后台与个人作品展示,记录文档发布、天气定位、模型接入和部署中的实践。

个人职责
需求与内容规划、使用反馈;与 AI 编程助手协作实现与部署
技术栈
Django · PostgreSQL · Nginx · Markdown · Open-Meteo · Z.ai
最后更新
2026.10.14

项目目标

把个人的学习内容、项目和思考放在一个可以长期维护的网站中,同时提供方便阅读与分享的公开入口。当前网站已经通过备案域名上线,学习记录与项目作品分别组织。

我的参与与协作方式

我负责确定个人网站的用途、内容方向、公开资料与交互需求,并在实际使用中反馈问题。Django 实现、界面调整、部署和自动检查由我与 AI 编程助手协作完成。这里明确保留协作边界:上线一个网站并不等同于所有实现都由我独立完成。

后续学习记录会围绕能解释、修改和验证的模块继续展开,例如文档发布、天气定位与模型接口。代码实现的理解与维护能力需要通过具体修改和实验来积累。

已实现的功能

  • Django 后台管理文章,支持 Markdown 草稿、预览、发布与导入导出。
  • 项目案例、学习专题、内容类型、研究与报告、网页简历。
  • PDF 附件通过权限检查后的入口预览与下载,草稿附件不公开。
  • Markdown 正文支持代码、数学公式与流程图,页面支持明暗主题和移动端布局。
  • 天气使用 Open-Meteo,默认按 IP 大致定位,可手动选择城市或授权设备定位。
  • Loopy 对话经本站服务器调用 Z.ai,使用 glm-4.7-flash;密钥仅在服务端保存。

系统结构

flowchart LR
  V[访客] --> N[Nginx 与 HTTPS]
  N --> D[Django 应用]
  D --> P[PostgreSQL 内容库]
  D --> F[受权限控制的 PDF]
  D --> W[Open-Meteo 天气]
  D --> A[Z.ai 模型服务]
  E[内容编辑] --> B[私有后台]
  B --> D

首页优先呈现项目与学习记录,天气在页面加载后单独查询。外部天气服务失败时,阅读页面仍可使用。PDF 通过独立受控入口访问,不能绕过文章公开状态直接下载草稿附件。

两个实际遇到的问题

IP 天气与实际位置不一致。 固定城市天气改为 IP 定位后,VPN 出口仍会影响位置判断。因此页面标注定位来源,并增加手动城市选择与经过授权的设备定位。设备返回的位置同样受系统能力影响,不能保证精确。

模型接口返回 429。 HTTP 状态不能单独说明密钥是否正确。接入 Z.ai 时曾遇到业务码 1305,表示平台暂时繁忙。服务端只对明确的临时错误进行一次有上限的重试,持续失败时向用户说明原因;不会自动切换其他模型。

验证与当前边界

网站使用自动检查覆盖公开内容、草稿隔离、Markdown 渲染、模型请求参数、天气定位和文档权限等行为,并通过浏览器检查桌面与手机布局。这里没有将这些检查写成吞吐量或模型效果的性能结论。

当前 Loopy 是调用托管模型的对话入口,还没有对本站内容进行检索,也没有进行 Agentic RL 训练。免费模型的可用性取决于服务商状态,聊天失败不影响文章阅读。项目源码尚未提供公开仓库链接。

下一步

先补充实际学习内容和技术报告,再将内容检索能力接入 Loopy;评测其引用与回答是否有证据支持。训练实验将单独确定环境、数据与算力,不把现有聊天功能视作已经完成的训练项目。