Flask 轻博客

取自实验楼实验Flask开发轻博客

作为Flask入门系列感觉不错,最近在学习《 Flask Web 开发 》,与这个实验配合能巩固所学。
并不是会员课程,建议在自己电脑上使用virtulenv进行实验。

实验源码在此。

我的代码在此。

在官方的代码上稍作修改,还在更新中...

--- 4月4日更新 ---
实验完毕,可查看提交历史,对比各个版本的区别。

实验完毕,总结一下我的收获。

1

Flask作为一个优秀的Python Web框架,有良好的扩展性和易用性,使用很方便,需要实现的功能可以使用相应的扩展,解耦做得非常好,以前没怎么接触Web开发,对于Flask的这种处理方式还是非常有好感的,配合Jinja2模板引擎能实现很强大的功能,虽然现在还不是很适应Jinja2的写法。

2

项目的组织结构。本项目使用了一般较为推荐的结构。关于这个话题可以参考知乎专栏的一篇文章,讲的很详细,如需了解更多信息可以看《FLask Web 开发》。

3

本次实验未涉及蓝本(Blueprint),对于这个概念还不是很理解,需要多啃书。

4

本实验基于Python2.7,感觉Python的版本割裂实际上远比看起来要大,而且并没有一个版本完全优于另一个版本。比较头疼的是2.x的编码问题和3.x的绝对导入问题,仍待加深理解。

5

使用 virtualenv 和 requirements 可以把环境问题降到最小,谁用谁知道。

  • virtulenv支持2.x和3.x,使用virtualenv ./venv创建虚拟环境,而3.x自带了一个模块,可以使用python3 -m venv ./venv创建虚拟环境
  • 使用pip freeze > requirements.txt导出依赖,使用pip install -r requirements.txt导入依赖。

6

Python的导入问题需要进一步思考。

7

flask项目配置可以参考这篇。

8

业务逻辑和表现逻辑的分离非常赞。Jinja2模板还需要多写一些代码来熟悉,同时 flask-bootstrap 所引入的各种特性也需要慢慢了解。

9

关于面向对象的思想,一直以来使用较少,因此了解也不多,但在大型项目中是非常必要的。在这个实验当中较多的体现在表单和数据库模型对象上。以模型为例,既有各列的定义,也有继承的查询方法,同时自己也可以自行添加一些需要的方法。

10

flask的全局变量是一个很好的设计,很多特性还需要多读文档来了解。
0.1版本的源码稍微看了一下,非常简洁高效。


想到再更。

你可能感兴趣的:(Flask 轻博客)