Flask-Todolist功能

来源:互联网 发布:sql五表关联 编辑:程序博客网 时间:2024/05/17 11:06

之前已经将狗书的网站做好了,现在想自己添加点功能。今天先做了一个Todolist,写的比较简单,效果如图
这里写图片描述

1建一个todolist的蓝本

这里写图片描述

init.py怎么写,以及怎么把蓝本注册到程序中,这些书上都有写。

2建模型Model

一个储存事件Event,一个储存类型Category,因为以后要自己添加事件的类型,比如休闲,学习,健身…。

这里写图片描述

并且在User模型中加上这一句,将User和Event关联起来
这里写图片描述

我这里在Category模型中定义了一个
静态方法,是想先插入几个类型,一开始没有插入类型,导致会报’NoneType’,所以我就加了这个方法,然后在Manage.py 的deploy命令中直接加进去,就可以运行

python manage.py deploy  #一键导入

这里写图片描述

建完模型之后记得Migrate,更新下数据库

3 建表单form

添加事件的表单

这里写图片描述

这里注意一下category,这是一个下拉选项,必须在初始化的时候定义choices,效果是这样的
这里写图片描述

还有一个添加类型的表单和一个编辑事件的表单
这里写图片描述

其中添加类型的表单,里面的自定义验证函数,今天跌了一下,我一开始写的是

def validate_category(self, field):

结果在view.py那里,调用form.validate_on_submit()死活都没有验证类别名,找了半天原因,才知道,原来是我Category模型中的类别名用的是name,后来改成了

def validate_name(self, field):

完美解决,这个验证函数就是确保你添加的类型不重复

4View

这里定义了一个Todolist界面和一个添加事件函数
这里写图片描述

添加类型函数和编辑事件函数
这里写图片描述

删除事件函数和一个完成事件函数
这里写图片描述

最后就是模块了,这个可以参考Bootstrap
(http://w3schools.bootcss.com/bootstrap/bootstrap_buttons.html),改改就行,比较简单。

0 0
原创粉丝点击