Flask之g属性

  • 专门用来存储用户信息的g对象,g的全称的为global

  • g对象在一次请求中的所有的代码的地方,都是可以使用的

使用

from flask import Flask,g,render_template,request
from utils import login_log
app = Flask(__name__) @app.route('/')
def hello_world():
return 'Hello World!' @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 == '111' and password == '222':
g.username = '111'
login_log()
return u'登录成功'
else:
return u'您的用户名或密码错误' if __name__ == '__main__':
app.run()

utils.py(调用)

from flask import g
def login_log():
print('当前登录用户是',g.usernmae)

login.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="" method="post">
<table>
<tbody>
<tr>
<td>用户名:</td>
<td><input type="text" name="username" placeholder="请输入用户名"></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="password" placeholder="请输入密码"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="登录"></td>
</tr>
</tbody>
</table>
</form>
</body>
</html>

session,flash,g的区别

  • session:只要设置,在任意请求中都能拿到,无论你拿多少次
  • flash:一旦设置,可在任意一次请求中获取,但是只能取一次
  • g:一旦设置,只能在当请求中获取,其它的请求都不能获取

最新文章

  1. “fixed+relative==absolute”——对BFC的再次思考
  2. FFmpeg相关资料
  3. Font Awesome符号字体
  4. 为什么我不再用 .NET 框架(转)
  5. MongoDB - Introduction to MongoDB
  6. 数据库 版本号是 661,打不开。此server支持 655 和更早的版本号。不支持降级路径
  7. [Oracle] CPU/PSU补丁安装教程
  8. for xml path 如何将字段转换为xml的属性
  9. Head First设计模式之抽象工厂模式
  10. java异常处理、多态
  11. JS方法:数字转换为千分位字符
  12. jmeter笔记(8)--关联
  13. pwnable.tw unexploitable 分析
  14. python列表中的所有值转换为字符串,以及列表拼接成一个字符串
  15. 函数,参数数组params与数组参数,结构函数
  16. collection tree protocol
  17. 分布式理论(八)—— Consistent Hash(一致性哈希算法)
  18. USB 相关笔记
  19. PHP数据库连接失败--could not find driver 解决办法
  20. 对JSON数据的解析(数据推送接口)

热门文章

  1. DQL---连接查询(内连接、外连接)、子查询、分页查询
  2. 表单_HTML
  3. [转]Spring Cloud在国内中小型公司能用起来吗?
  4. BayaiM__MySQL 5.7 新特性详解
  5. GIL全局解释器锁、死锁、递归锁、线程队列
  6. emacs c/c++ 中使用的命令大杂烩
  7. vue2.0教手架安装
  8. 【BZOJ2655】calc(拉格朗日插值)
  9. IntelliJ IDEA常用配置(三)
  10. 设计模式-抽象工厂模式(AbstractFactory)(创建型模式)