web analytics

flask sayhello项目反思

这是一个留言板项目,仅仅刚好展示了flask整体框架。虽然我是一个字符不落的抄了一边,各部分均有学习到新知识,罗列一下。

开发前

需要对项目有一个整体的规划,先列需求表,写需求说明书。之后再说设计与技术上的实现。

前端方面,先用原型软件进行绘图。可以将每个接口都想详细一点,最好都列出来。

后端方面,先从数据库着手,然后写表单,然后再从视图函数着手。如果前后端都是一个人杠而且不打算做前后端分离,建议写一个视图函数就写一个对应的前端界面。

之后就是测试,建议写一部分就测试一部分,否则后面锅就过于大,收拾不过来。

创建实例

其中最好将此项目的名称硬编码的形式呈现。

from_pyfile是从python文件中获取配置。

而最后两行是在jinja渲染的时候将由模板占据的空白去掉。

因为最先执行的是实例,但是注册各种处理的程序都在其他脚本中,所以需要执行一下他们让他们注册到实例中。而且防止由于循环依赖导致的崩溃,所以将它们放到最后导入。

数据库

在运行前需要用shell创建一下表,否则sqlite会不认。(当然这是在没有写工厂函数的情况下)。

db.create_all()

表单类

需要注意的是要将在validators中把DataRequired加上,保证每个都是填上的。

模板

在调试中,跟其他py程序不一样,html改完直接就可以刷新网页得到反馈。py需要重加载,而HTML就很方便,所以不要犯勺把运行中的flask断掉。

模板就是个很枯燥很复杂,很奇奇怪怪的东西,

要加在合适的地方。

能使用快速渲染的东西,就不要累累的自己写。

render_form(,action=request.full_path)是好东西。

Faker

虚拟数据真的是奇妙,当然这也是测试数据库与前端的数据神器。