python框架中flask知识点总结


Posted in Python onAugust 17, 2018

有很久没有更新我的博客了,在学习flask去了,别人都说flask不难,其实现在我也这么觉得,但是在刚接触的时候还是有点吃力的。

在学习的过程中查阅了不少,也了解了许多,今天想做个总结。。。以免觉得学了那么久什么都没学到,还有防止以后忘记。

一.关于装饰器,路由

最开始接触的时候觉得好神奇,只会照着敲不知道怎么自己用起来

@app .route(‘/')

def hello:

print(‘hello')

注意:1.只有@这个东西是固定的,app 是可以换的,这与蓝本中的定义有关,blueprint给了xx之后在import和@的时候就是xx哦

2.@下面的def就是你会被装饰的函数,至于和谁装饰,这就与route有关了

3.‘/'也是一个有趣的东西,现在它还很单调无味,等到东西多的时候可以自己加这玩/post,/login。。。在之后有登入的时候,还可以变成登入用户的/post/<name>,具体操作不告诉你,可以思考下,不难。

二.模板

1.我们在子模板的开头定义了”{% extend ‘xx' %}”语句来声明继承,此后在子模板中由”{% block block_name %}”和”{% endblock %}”所包括的语句块,将会替换父模板中同样由”{% block block_name %}”和”{% endblock %}”所包括的部分。

2.如果父模板中的块里有内容不想被子模板替换怎么办?我们可以使用{{super( )}}

3.块内语句的作用域:默认情况下,块内语句是无法访问块外作用域中的变量。如果你想在块内访问这个块外的变量,你就需要在块声明时(父)添加”scoped”关键字。

4.宏{% macro macro_name() %}{% endmacro %}类似于函数

5.import和include就是包含 (Include),使用的方法就是”{% include %}”语句。其功能就是将另一个模板加载到当前模板中,并直接渲染在当前位置上。它同导入”import”不一样,”import”之后你还需要调用宏来渲染你的内容,”include”是直接将目标模板渲染出来。它同block块继承也不一样,它一次渲染整个模板文件内容,不分块。

三.表单和数据库

大坑啊

1.提交表单大多用POST
发送请求的最后一个请求如果是包含表单数据的POST请求的话,刷新页面会再次提交表单,这样容易提交,例如,之前是下订单的请求,刷新以后可能是再下一次订单。所以最好别让POST作为最后一个请求。

2.可以用重定向 redirect()有时候和url_for()一起玩,url_for()参数可以是被装饰的函数的函数名,例如main.index

3.添加会话db.session.add()和db.session.commit()提交会话

4.每次更改了表单的列的时候记得更新啊

Python 相关文章推荐
python局部赋值的规则
Mar 07 Python
跟老齐学Python之模块的加载
Oct 24 Python
跟老齐学Python之使用Python操作数据库(1)
Nov 25 Python
python类和继承用法实例
Jul 07 Python
Python实现求解括号匹配问题的方法
Apr 17 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
Aug 12 Python
python实现人机猜拳小游戏
Feb 03 Python
python实现最速下降法
Mar 24 Python
Windows下Anaconda安装、换源与更新的方法
Apr 17 Python
Python json格式化打印实现过程解析
Jul 21 Python
python动态规划算法实例详解
Nov 22 Python
从np.random.normal()到正态分布的拟合操作
Jun 02 Python
Flask Web开发入门之文件上传(八)
Aug 17 #Python
python操作excel的方法
Aug 16 #Python
python3调用百度翻译API实现实时翻译
Aug 16 #Python
Python用于学习重要算法的模块pygorithm实例浅析
Aug 16 #Python
Python pygorithm模块用法示例【常见算法测试】
Aug 16 #Python
Python使用pickle模块报错EOFError Ran out of input的解决方法
Aug 16 #Python
Python使用pickle模块储存对象操作示例
Aug 15 #Python
You might like
一个改进的UBB类
2006/10/09 PHP
php下关于Cannot use a scalar value as an array的解决办法
2010/08/08 PHP
发款php蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
PHP乱码问题,UTF-8乱码常见问题小结
2012/04/09 PHP
php调用MySQL存储过程的方法集合(推荐)
2013/07/03 PHP
php实现的日历程序
2015/06/18 PHP
php微信公众号开发之秒杀
2018/10/20 PHP
js 父窗口控制子窗口的行为-打开,关闭,重定位,回复
2010/04/20 Javascript
JavaScript利用正则表达式去除日期中的-
2014/06/09 Javascript
Bootstrap每天必学之表格
2015/11/23 Javascript
完全深入学习Bootstrap表单
2016/11/28 Javascript
通过命令行生成vue项目框架的方法
2017/07/12 Javascript
webpack+vue+express(hot)热启动调试简单配置方法
2018/09/19 Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
2019/02/20 Javascript
微信小程序使用Vant Weapp组件库的方法步骤
2019/08/01 Javascript
layui弹出框Tab选项卡的示例代码
2019/09/04 Javascript
layui导出所有数据的例子
2019/09/10 Javascript
ES6学习笔记之let与const用法实例分析
2020/01/22 Javascript
vue+render+jsx实现可编辑动态多级表头table的实例代码
2020/04/01 Javascript
Vue如何基于es6导入外部js文件
2020/05/15 Javascript
小程序实现列表展开收起效果
2020/07/29 Javascript
[37:29]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.19
2020/11/19 DOTA
python冒泡排序算法的实现代码
2013/11/21 Python
Python3.4实现从HTTP代理网站批量获取代理并筛选的方法示例
2017/09/26 Python
人生苦短我用python python如何快速入门?
2018/03/12 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
2018/04/12 Python
Python实现合并两个列表的方法分析
2018/05/28 Python
Pandas读取MySQL数据到DataFrame的方法
2018/07/25 Python
python3+selenium实现126邮箱登陆并发送邮件功能
2019/01/23 Python
查看Python依赖包及其版本号信息的方法
2019/08/13 Python
Python queue队列原理与应用案例分析
2019/09/27 Python
NumPy统计函数的实现方法
2020/01/21 Python
SmartBuyGlasses丹麦:网上购买名牌太阳镜、眼镜和隐形眼镜
2016/10/01 全球购物
质量安全标语
2014/06/07 职场文书
同学聚会感言一句话
2015/07/30 职场文书
房产销售员2015年终工作总结
2015/10/22 职场文书