Flask之初学者(七)

Flask的g对象

  g可以可以看作是单词global的缩写,使用“from flask import g”导入,g对象的作用是保存一些在一次请求中多个地方的都需要用到的数据,这些数据可能在用到的时候都需要去进行判断或其他处理之后才能获得,如果在第一次获取的时候就存放到g对象中,就可以避免一些不必要的操作。比如在某一个函数中定义了“g.username=‘Jason‘”(可能为了定义这个值,会进行一些别的操作,比如数据库查询判断等,定义好了这个值后就不用再每次用到它的时候都去进行这些操作了),那么在其他地方就可以直接使用“g.username”来获取这个值,或者使用“hasattr(g, ‘username‘)”判断g中有没有这个值,需要特别注意的是当你处理完这次请求并返回数据给客户端浏览器后,这个g对象中所有的值都会被删除掉,也就是它只有在一次请求中有效。



Flask钩子函数(hook)

  钩子(hook)函数最大的特点其实就是会将定义的钩子函数在某个特定的位置自动执行,而不用每次需要用到的时候手动去定义它的执行,当然不同的钩子函数有不同作用和效果。常用的钩子函数有(app为Flask对象):

  1. app.before_request:是一个装饰器,被装饰的函数会在请求处理之前执行(即执行视图函数之前执行)。
  2. app.context_processor:是一个装饰器,被装饰的函数一般返回一个字典,字典中的key字符串会被渲染为HTML页面中的变量,变量的值就是对应key的value,重点在于返回的这个字典可以在任何HTML页面中直接使用,而不用通过url传参的方式传入HTML中。

原文地址:https://www.cnblogs.com/guyuyun/p/9281887.html

时间: 2024-11-09 03:16:14

Flask之初学者(七)的相关文章

BAE Flask UEditor 使用七牛云

1. 配置BAE支持七牛云的SDK BAE的python requirements当然不支持竞争对手了. 解决方法: 把qiniu这个文件包直接放置在你项目的目录中(与其他app同级) 运行会发现缺少requests,这个BAE中支持,填到requirements中就可以了 2. Flask使用Ueditor 参考: http://segmentfault.com/a/1190000002429055 已经配置好,有疑问请回复 3. 上传文件到七牛云 七牛python sdk API有 put_

Flask之初学者(二)

Flask配置文件 在项目文件夹下新建一个"config"py文件,在代码中"import config"后使用"app.config.from_object(config)"即可使用配置文件中的参数(需大写),例如: DEBUG:设置为"True"时表示开启debug模式,设置为"False"表示关闭debug模式: SQLALCHEMY_DATABASE_URI:设置数据库连接字符串(这里使用的是sql

Flask之初学者(四)

Flask之URL URL传参:使用尖括号,如"<value>"将参数"value"通过URL传入视图函数,在视图函数中也需要有同名的参数.这样可以使用相同URL,但是因为参数不同而加载的数据却不同.如图: URL反转:反转是指通过视图函数名称得到其对应的URL(有反转也就有正转,即通过URL得到视图函数返回的内容,也就是我们平时的访问网页了),需要"url_for(endpoint, **values)",第一个参数是视图函数名称字

Flask之初学者(三)

Flask数据库操作 一.MySQL数据库安装(我用的是解压版) 解压:将下载的zip包解压到任意目录: 配置环境变量:将解压后的文件夹中的bin目录路径放入环境变量的path中: 配置文件:在解压的文件夹下(也就是bin的上一级目录)新建一个ini配置文件如"my-default.ini"(如果有就是修改其中的内容),在配置文件中写入(修改或追加)如下内容: [mysqld] basedir=D:\MySQL Server 8.0 datadir=D:\MySQL Server 8.

Flask之初学者(六)

Flask中的session cookie:是一种保存数据的格式,也可以看成是保存数据的一个"盒子",服务器返回cookie给浏览器(由服务器产生),由浏览器保存在本地,下次再访问此服务器时浏览器就会自动将此cookie一起发送给服务器. session:也是一种保存数据的格式,也可以看成是保存数据的"盒子",和cookie几乎是"同生共长"的,同cookie不同的是,session是保存在服务器中的.服务器通过cookie返回给浏览器sessi

ios入门

一.语言 object-c: Ry's Object-C tutorial 适合恋旧的的object-c爱好者. swift:苹果官方提供的swift language guide 二.教程 1.appcoda 初学者七点钟,非常详细的说明 2.27 places to learn ios 不仅为初学者而写 3.开源库 27 ios open source libraries to skyrocket your development

JavaScript初学者应注意的七个细节(转)

http://www.cnblogs.com/lhb25/archive/2011/01/10/1932284.html 每种语言都有它特别的地方,对于JavaScript来说,使用var就可以声明任意类型的变量,这门脚本语言看起来很简单,然而想要写出优雅的代码却是需要不断积累经验的.本文利列举了JavaScript初学者应该注意的七个细节,与大家分享. (1)简化代码 JavaScript定义对象和数组非常简单,我们想要创建一个对象,一般是这样写的: 1 2 3 4 5 var car = n

JavaScript初学者应注意的七个细节

每种语言都有它特别的地方,对于JavaScript来说,使用var就可以声明任意类型的变量,这门脚本语言看起来很简单,然而想要写出优雅的代码却是需要不断积累经验的.本文利列举了JavaScript初学者应该注意的七个细节,与大家分享. (1)简化代码 JavaScript定义对象和数组非常简单,我们想要创建一个对象,一般是这样写的: 1 2 3 4 5 var car = new Object(); car.colour = 'red'; car.wheels = 4; car.hubcaps

第七章 Flask——特殊装饰器

第七章 Flask--特殊装饰器 一.@app.template_filter() 二.@app.template_global() 三.@app.errorhandler 四.@app.errorhandler 五.@app.after_request 一.@app.template_filter() 二.@app.template_global() 三.@app.errorhandler 四.@app.errorhandler 五.@app.after_request 原文地址:https: