这次再DateTimeField用到了auto_now=True,每次保存对象时,自动将该字段设置为现在。
还有TextField
讲讲注意事项和遇到的新知识点吧,不记流水账了
- 注意:从前端获取的值,为了避免报错,记得判断类型是否正确,否则在查找的时候会报错。
- 昨天刚讲到的values_list,今天就用上了。
为了避免不法分子直接用get访问到其他人的文档或者对别人的文档进行操作,我在文档相关视图函数都加了判断(文档之前的视图函数都加了避免篡改别人数据的判断了)
判断无非就是要屏蔽掉既不是创建者也不是参与者的用户
不是创建者好判断,直接request.login_status.id != project.user_id
and
又不是参与者的,一个项目参与者有很多,而且我们要比较的也只有id字段。这里在ProjectUser中根据project_id查找,再.value_list(‘id’,flat=True),我们只要一个字段所以加上flat=True,这样列表里的元素就不是元组,而是一个个值。
- 遇到的问题:因为编辑和添加文档的表单和页面展示几乎一样,添加和编辑的函数都渲染到同一个html文件,然后表单post的action是添加的,所以就导致编辑的也变添加。
解决:在action加了一个是否有通过wiki的id查到的数据,有则action是post到编辑视图函数,没有则到添加函数。
- 表单的instance参数在修改表单这方面太常用了,重点重点。注意是要传一个模型实例作为参数。
给textarea加入md编辑器,跟着武Sir一步步做的,没啥好说的。
ok,根据武Sir的markdown快速上手,很多功能还得靠个人去摸索,但是我重心不在这,就这样草率结束就好啦。



