各位好~
最近对博客系统进行了一次全面的维护和升级,解决了一些恼人的 bug,也加了点新东西。这里简单记录一下。
解决了哪些问题?
1. 头像显示优先级问题
之前有个很怪的问题,明明上传了本地头像,但系统还是固执地去抓 Gravatar 的。
我排查了一下,发现是 main.py 里处理头像上传的逻辑有点问题。它只管把文件存到服务器上,但忘了把新的头像 URL 更新到数据库里。
修复方法很简单,在 upload_avatar 函数里,上传成功后,立刻调用 crud.update_user_avatar 把新的 URL 写进数据库。搞定。
2. 缺失的页面补全
我想起来 category.html 和 tag_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.html 和 base.html 的布局,用响应式设计,让它在不同尺寸的屏幕上都能舒服地显示。
2. 文章阅读时间估算
为了让读者对文章长度有个底,我加了个阅读时间估算的功能。
我在 utils.py 里写了个 estimate_reading_time 函数,大概按每分钟 250 字的速度来算。然后在 models.py 的 Article 模型里加了个 reading_time 属性。
现在,文章列表和详情页都会显示“X min read”了。
差不多就是这些。这次更新主要是修 bug 和提升体验。博客系统现在应该比以前更稳定、更好用了。
:wq