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实现从url中提取域名的几种方法
Sep 26 Python
Python描述器descriptor详解
Feb 03 Python
python使用webbrowser浏览指定url的方法
Apr 04 Python
python微信跳一跳系列之棋子定位像素遍历
Feb 26 Python
python实现多线程网页下载器
Apr 15 Python
对python中执行DOS命令的3种方法总结
May 12 Python
flask框架实现连接sqlite3数据库的方法分析
Jul 16 Python
python抖音表白程序源代码
Apr 07 Python
python 内置函数汇总详解
Sep 16 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
Jun 12 Python
python 基于selenium实现鼠标拖拽功能
Dec 24 Python
python中altair可视化库实例用法
Jan 26 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
php实现斐波那契数列的简单写法
2014/07/19 PHP
windows下安装php的memcache模块的方法
2015/04/07 PHP
解析PHP的Yii框架中cookie和session功能的相关操作
2016/03/17 PHP
js 页面传参数时 参数值含特殊字符的问题
2009/12/13 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
2013/09/27 Javascript
javascript设置连续两次点击按钮时间间隔的方法
2014/10/28 Javascript
jQuery实现延迟跳转的方法
2015/06/05 Javascript
jQuery实现的简单折叠菜单(折叠面板)效果代码
2015/09/16 Javascript
解决js页面滚动效果scrollTop在FireFox与Chrome浏览器间的兼容问题的方法
2015/12/03 Javascript
深入理解Ajax的get和post请求
2016/06/02 Javascript
jquery的checkbox,radio,select等方法小结
2016/08/30 Javascript
DWR3 访问WEB元素的两种方法实例详解
2017/01/03 Javascript
jQuery EasyUI ProgressBar进度条组件
2017/02/28 Javascript
JavaScript之map reduce_动力节点Java学院整理
2017/06/29 Javascript
nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)
2017/07/05 NodeJs
带你快速理解javascript中的事件模型
2017/08/14 Javascript
nodejs使用express获取get和post传值及session验证的方法
2017/11/09 NodeJs
基于Vuex无法观察到值变化的解决方法
2018/03/01 Javascript
JavaScript数组去重的方法总结【12种方法,号称史上最全】
2019/02/28 Javascript
基于elementUI实现图片预览组件的示例代码
2019/03/31 Javascript
vue实现全匹配搜索列表内容
2019/09/26 Javascript
解决 window.onload 被覆盖的问题方法
2020/01/14 Javascript
Python 遍历列表里面序号和值的方法(三种)
2017/02/17 Python
Python构建XML树结构的方法示例
2017/06/30 Python
Python实现的文本对比报告生成工具示例
2018/05/22 Python
python绘制直方图和密度图的实例
2019/07/08 Python
Python绘制全球疫情变化地图的实例代码
2020/04/20 Python
python Matplotlib数据可视化(2):详解三大容器对象与常用设置
2020/09/30 Python
Python Sqlalchemy如何实现select for update
2020/10/12 Python
CSS Grid布局教程之浏览器开启CSS Grid Layout汇总
2014/12/30 HTML / CSS
来自圣地亚哥的实惠太阳镜:Knockaround
2018/08/27 全球购物
英国儿童设计师服装和玩具购物网站:Zac & Lulu
2020/10/19 全球购物
土木工程师岗位职责
2013/11/24 职场文书
大学旷课检讨书
2014/01/28 职场文书
幼儿园教师的考核评语
2014/04/18 职场文书
暑期家教宣传单
2015/07/14 职场文书