Morry's Blog

A wizzard is never late.

Flask-Peewee

    发现自己这段时间越来越浮躁起来,总是赶着时间完成项目,好久没有安静下来研究一些什么东西了。一本小说都看了一个月才看完,第一张不知道拿起放下看了多少遍,趁着坐火车的时间才看了下来,更别说画画了。前几天接到校友会组织创业大赛的一个网站,顺便要帮忙写个后台,因为正好室友实验室课题组要建个主页,也要做个简单的发布系统让她后续好简单点发布。想想功能也简单,就想顺手用最熟悉的框架flask做了吧,虽然知道用flask来作这种东西真是有点作死的节奏。写的时候就觉得跟当时学flask时候的心境真的相差太多,真是特别怀念当年天天泡图书馆的日子。也发现了现在人的审美也慢慢提高,对设计和体验也越来越在乎,好看的网站越来越多,所以很多早几年拿wordpress或者直接拖模版的网页已经让人越来越不能忍了。正好赶上了网页换代的好时代,这样简单的活光在校内的需求都这么大,就想自己顺便琢磨琢磨把整个系统完善一下,尽量以后可以多复用一点。

    先总结一下最近研究下来几个插件:

  1. CKEditor
  2. Flask-Admin(虽然最后没有用成功)
  3. Flask-Peewee

本来是打算用熟悉点的SQLAlchemy+Admin直接做后台操作的,但是因为Admin的templates实在无法override(也不知道问题到底出在哪了,以后再研究一下),碰巧发现了peewee,真是很轻量级又很赞的组合,直接用peewee-orm可以做好数据库,后来发现用的居然就是SQLAlchemy的内核,不过api感觉简单好用更多。后台操作的用法和Flask-Admin基本差不多,最重要的是example的代表性很好,对flask项目的模块管理又重新学习了一下。

作为一个前端,当然最重要的还是对CKEditor的学习啦,在这里还是赞一下CKEditor4的改版ui,真是很清新。上手很快,基本就是把存成在html格式放在数据库里,提取信息的问题上花时间搜索的有点多,结果居然在django的讨论帖上发现直接autoescaping off就行了。可能django和flask用的html渲染差不多都是jinja,所以也比较通用。后来查了一下应该也是可以直接通过js的方法来反转义的,就是一些标签的转义而已。还有没解决好的问题就是图片上传和浏览的问题,可能还得用上ckfinder,过几天也得好好研究一下源码。

代码库直接挂在github-zaec上了,学长说交东西不要太快,最好等deadline前几天再给人家,不然老是会被要求修改的(哈哈,真是太机智了)。等过几天,再慢慢把这个系统完善一下,尽量做成一个简单的cms。

Comments