---
title: "新博客系统上线"
url: "https://lerry.me/post/2013/05/new-python-blog"
date: 2013-05-13T19:20:00.000Z
updated: 2026-08-31T10:28:52.425Z
tags:
  - "博客"
language: zh-CN
---

# 新博客系统上线

经过一个月断断续续的编码，我的新版博客系统终于上线了，这算是正式写博客的第三版了~
这次，前后端均由我自己完成，最近开始学写前端，就自己做了这个主题，挺丑的，欢迎来喷~
写这个程序的原因：

- 14 个月之前，我就说，我一定会回来的，详见[这里](https://lerry.me/post/2012/03/move-to-typeecho)。
- 最近学写前端，这也算是我的第一个作品吧。
- 有时候想整合一些功能，自己对 Python 比较熟悉。

新博客的技术栈：Python + Tornado
因为工作了，月付100的VPS还是能负担的起的，自己折腾起来也方便，就自己搞个博客系统吧。操作系统还是我最喜欢的Debian，而且Debian 7 刚刚发布，我就第一时间安装了，Debian 6 上面还是 Python 2.6 ，伤不起啊。

web框架方面，原来是挺喜欢web.py的，后来工作用的Tornado，比较熟悉了，而且也是个轻量级的框架，扩展性也不错。

模板还是Jinja2，虽然公司用Mako好久了，我还是没什么好感，个人喜好吧。

代码高亮的方案，前前后后试过好多种，目前是用的Pygments，在后端进行渲染，不需要加载js，前端加载一个css文件即可，挺好使的。

ORM，这次最纠结的就是ORM了，第一版的的博客用的是web.py的数据库操作api，第二版，额，是个 PHP 程序。最初打算用自己以前仿写的一个简单ORM，无奈bug太多，不好使。后来想着用用 SQLAlchemy 吧，它好歹也是最著名的 ORM 系统了，以后找工作也敢说用过呢~感觉用起来比较麻烦，而且明显感觉速度变慢了，最后我用了Torndb，是在Tornado3.0以后分离出来的一个包，就是对MySQL的一个简单封装，SQL语句写起来也是很爽的，嘿嘿。

之前的两个版本都是SQLite数据库，甚至选择Typecho就是看中它对SQLite的完美支持，不过这次不打算用了，性能上倒没有大问题，主要是MySQL用的比较熟了，而且还有phpMyAdmin这个好用的管理工具。

我几乎没有使用缓存系统，只在标签和Session部分用了自己模拟的memcached缓存查询结果，现在博客没什么流量，等性能不够再考虑缓存也不迟。

因为吸取了第一版的教训，这次我尽可能的使程序保持简单，索性不做评论功能了，而使用了第三方的评论系统，多说，感觉挺方便的，原来的数据也能方便的导入。

上一篇博客还是去年9月写的，这期间为什么不写呢，从实习开始，爱好变成了工作，我对待编程，学习的观点都有了很大变化，甚至有一段对编程的兴趣下降了，不过后来我又想明白了。这一段也有几次想写博客的冲动，一直在准备新博客程序，就耽搁了，以后会多更新的~

目前这个程序完成度挺高了，标签系统是今天完成的，我发现晚上效率还是很高的。
还需要做一个附件/图片上传功能和自动保存，会用js实现，虽然js水平还很菜，但是做这些应该没问题的。
我忽然想起来，上次熬夜迁移博客，因为起得晚，和女友约会迟到了，她很生气，如今，生我气的人也没有了。。。

感谢：
教主在前端上给了我不少建议，包括Logo部分的字体也是教主帮我选的。
Realfex同学经常在前端技术上帮助我，谢谢你。
