Flask学习(二):Flash案例代码修改
来源:互联网 发布:java中的集合类 编辑:程序博客网 时间:2024/05/16 19:19
案例中的原始代码为:
@app.route('/', methods=['GET', 'POST'])def index(): form = NameForm() if form.validate_on_submit(): old_name = session.get('name') if old_name is not None and old_name != form.name.data: flash('Looks like you have changed your name!') session['name'] = form.name.data return redirect(url_for('index')) return render_template('index.html', form=form, name=session.get('name'))
但是我使用该代码重新打开一个浏览器,保证原先session已经不存在,然后打开主页之后submit之后会直接抛出异常
说name不存在,查看我们代码是取得session[‘name’],所以我直接输出session这个dic的所有key,
print({x for x in session.keys()})
当第一次输出的时候之后一个{‘csrf_token’},也就是说这时候session这个dic里面没有name这个key,所以直接去获取值得话就会报错。因此,需要修改代码,进来的时候需要判断session里面是否有name,如果没有的话则不能取old_name,需要先设置session[‘name’]的值,然后old_name再去取值。代码如下:
def index(): name = None form = NameForm() if form.validate_on_submit(): if 'name' in session: old_name = session['name'] if old_name is not None and old_name != form.name.data: flash('Look like you have changed your name') elif old_name is None: session['name'] = form.name.data else: session['name'] = form.name.data old_name = session['name'] return redirect(url_for('index')) return render_template('index.html', form=form, name=session.get('name'))
阅读全文
0 0
- Flask学习(二):Flash案例代码修改
- Flask学习(二)
- flask入门学习(二)
- Flask Web 开发学习稿(二)
- flask 学习(二)
- Flask 框架学习(二)
- 对于node.js开发指南中博客案例的修改实现(二)--代码
- flash 学习笔记(二)
- flask sqlalchemy(二)
- Flask--Restful(二)
- spi flash驱动代码分析(二)
- python Flask学习笔记(二)-集成bootstrap
- flask 学习之路(二) 程序的基本结构
- Flask 学习篇二:学习Flask过程中的记录
- Flash学习--修改文字特效
- NAND FLASH学习笔记之nand flash基础(二)
- NAND FLASH学习笔记之nand flash基础(二)
- Flask学习(一)
- 简述你理解的java中的接口和抽象类的区别(五点)
- HYSBZ 4690 Never Wait for Weights(变种并查集)
- Linux进程探讨系列之一
- 12月3日训练笔记
- 一文掌握阿里云“云通信”产品
- Flask学习(二):Flash案例代码修改
- 51 nod: 1459 迷宫游戏
- maven 父子项目 聚合与继承 生命周期 打包插件 依赖打包 jar pom war
- springmvc的常用注解解析
- SSH框架项目总结
- 身份证升位(字符串)(深大oj题)(初学者解答)
- CapsNet胶囊理论
- PhotoShop CC 2017软件工具面板使用---仿制图章工具
- Logstash学习21_Logstash 解析 XML