日常 / 2025-12-07

AkanBlogs 更新日志 - 2025-12-07

Akanyi Akanyi
25 3 min read

各位好~

最近对博客系统进行了一次全面的维护和升级,解决了一些恼人的 bug,也加了点新东西。这里简单记录一下。

解决了哪些问题?

1. 头像显示优先级问题

之前有个很怪的问题,明明上传了本地头像,但系统还是固执地去抓 Gravatar 的。

我排查了一下,发现是 main.py 里处理头像上传的逻辑有点问题。它只管把文件存到服务器上,但忘了把新的头像 URL 更新到数据库里。

修复方法很简单,在 upload_avatar 函数里,上传成功后,立刻调用 crud.update_user_avatar 把新的 URL 写进数据库。搞定。

2. 缺失的页面补全

我想起来 category.htmltag_list.html 这两个页面压根不存在,导致点击分类和标签链接会直接 404。

这可不行。我直接复制了 blog_list.html 的模板,然后稍微改了改,创建了这两个文件。现在,分类和标签页面都能正常显示文章列表了。

3. 管理后台功能不全

之前的管理后台只能管理评论,连文章都删不了,这哪能叫管理后台?

我给 admin_dashboard.html 重构了一下,用 Tab 选项卡把文章、评论、分类、标签管理都整合到了一起。现在的功能一目了然,操作也方便多了。

4. 点赞系统失效

点赞按钮点不动,动画效果还有 bug。我查了一下,发现是前后端数据没对上。

  • 前端问题article_detail.html 里的 JavaScript 把后端返回的 JSON 对象直接当字符串处理了,导致点赞数显示为 [object Object]
  • 后端问题crud.py 里的 like_article_user 函数只记录了点赞,没更新文章总的点赞数。

我把前后端的逻辑都修正了一遍,现在点赞、取消点赞、动画效果、数量更新,一条龙服务,全都正常了。

新增了什么功能?

1. 优化主页和移动端体验

之前的首页在手机上看,排版有点挤。我重新调整了 index.htmlbase.html 的布局,用响应式设计,让它在不同尺寸的屏幕上都能舒服地显示。

2. 文章阅读时间估算

为了让读者对文章长度有个底,我加了个阅读时间估算的功能。

我在 utils.py 里写了个 estimate_reading_time 函数,大概按每分钟 250 字的速度来算。然后在 models.pyArticle 模型里加了个 reading_time 属性。

现在,文章列表和详情页都会显示“X min read”了。


差不多就是这些。这次更新主要是修 bug 和提升体验。博客系统现在应该比以前更稳定、更好用了。

:wq

评论区

发表评论

暂无评论。来抢沙发吧!