1.什么是g对象?

  1. 在 flask 中,有一个专门用来存储用户信息的 g 对象,g的全称的为global。
  2. g 对象在一次请求中的所有的代码的地方,都是可以使用的。

赋值方式

from flask import Flask, g, render_template, request
from ulits import login_log app = Flask(__name__) @app.route('/')
def hello_world():
return 'index' @app.route('/login/', methods=['GET', 'POST'])
def login():
if request.method == 'GET':
return render_template('login.html')
else:
username = request.form.get('username')
password = request.form.get('password')
if username == 'zhiliao' and password == '111111':
g.username = username
login_log()
return '恭喜您!登录成功'
else:
return '登录名或密码错误!' if __name__ == '__main__':
app.run(debug=True, host='127.0.0.1', port=8081)

调用方式

from flask import g

def login_log():
print('登录名为: {}'.format(g.username))

2.g对象和session的区别

在我看来,最大的区别是,session对象是可以跨request的,只要session还未失效,不同的request的请求会获取到同一个session

但是g对象不是,g对象不需要管过期时间,请求一次就g对象就改变了一次,或者重新赋值了一次

那么g对象该如何使用呢?看代码。

login.html

最新文章

  1. angularjs $scope.$apply 方法详解
  2. 解决javascript动态改变img的src属性图片不显示问题
  3. C# 根据ADO.NET数据库连接字符串构建EntityFrame数据库连接字符串
  4. mysql概要(二)类型
  5. [Hibernate] - one to one
  6. [.NET]程序在线更新,力求通用
  7. oracle学习笔记1:windows下oracle数据库安装及.net调用oracle数据库
  8. Scut:缓存管理
  9. adobe reader安装完成之前被中断,错误代码150210解决方法
  10. shouldOverrideUrlLoading相关说明
  11. Eclipse中导入第三方源码的问题和备用解决方案
  12. 9.并发包非阻塞队列ConcurrentLinkedQueue
  13. infiniDB无法建表
  14. Spring MVC深入学习
  15. BBS论坛(三十一)
  16. jenkins修改数据存放路径
  17. python----面向对象(2)
  18. redis集成相关工具类
  19. 实例-sprintf() 函数详解-输出格式转换函数
  20. NYOJ 1012 RMQ with Shifts (线段树)

热门文章

  1. git:error: Your local changes to the following files would be overwritten by merge:
  2. MyEclipse安装后的配置
  3. 模板:分页JSP(结合Servlet)
  4. 二、第一个C程序:Hello World!
  5. java后端解决跨域
  6. MySQL知识-redis实例
  7. 使用webstorm 搭建 vue 开发环境
  8. [256个管理学理论]004.鲶鱼效应(Catfish Effect)
  9. CAD文件打印为PDF文档
  10. 使用 Typora 编辑器运用 Markdown 的语法编写文档