开发者学堂课程【Python Web 框架 Flask 快速入门:综合案例6-添加书籍逻辑1】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/603/detail/8805
综合案例6-添加书籍逻辑1
内容简介
一、实现相关的增删逻辑
二、总结
一、实现相关的增删逻辑
a、增加数据,增加数据对于网页来讲就是增加内容然后提交。
在这里,要进行验证,首先要将验证逻辑写入:
1、调用 WTF 的函数实现验证。
2、验证通过获取数据。
3、判断作者是否存在。
4、如果作者存在,判断书籍是否存在,没有重复书籍就添加数据,如果重复就提示错误。
5、如果作者不存在,添加作者和书籍。
6、验证不通过就提示错误。
写完之后,修改
@app.route
为@app.route(‘/’,methods=[‘GET’,’POST’])
然后就可以实现验证逻辑了。
1、作者的书籍表单调用一个验证函数:
if author form.validate on submit():
pass 说明验证通过
else:说明验证失败。验证失败按照常规来讲,可以显示一个消息过去:else:flash(‘参数不全’)
回到页面刷新出现参数不全。因为没有判断请求方式,所以这时候一定要做 POST启用方式验证,flash 只有 POST 才显示,所以写入 POST
判断:if request.method== ‘POST’:
这就是验证不通过就提示错误。
中间 pass 如果验证通过获取数据,说明成功。成功之后就可以把相关参数获取一下:
如果从网页中取,网页中都属于表单,而在表单里可以找到作者,想要拿到内容的话写入author name=author form.author.data
同样往下:book name=author form.book.data
这就是第二步拿到验证数据。
再往下判断作者是否存在,这里涉及到数据库的查询操作,查询作者名字是不是存在于数据库,写入
Author.query. filter by()
前面说过如果用 filter by 格式,里边就可以属性名等于内容:
Author.query. filter by(name=author name)
再往下要执行查询所以.
author=Author.query. filter by(name=author name.first()
如果查询到了就判断如果作者存在,
if author:这样写代表存在,
else:代表不存在,添加作者和书籍。
二、总结
实现添加数据的第一部分,添加逻辑的思路的分析,以及实现了第1到第6步,验证和验证不通过以及取得参数,在数据库里查询等。