g英文:global
专门用来保存用户数据,g对象在一次请求中,当前项目所有文件中都可以使用到;但是第二次请求时,g对象会被重新创建。。。
使用g对象需要先引入该模块:
from flask import Flask,g,render_template,request
用法:
g.xxx = xxx # 前边是为key 后边是值
来个小demo:需求是,当用户登录时,打印用户账号、密码和登陆时间:
<!-- html代码 -->
<form action="http://localhost:5000/login" method="post">
<input type="text" name='username' placeholder="请输入账号">
<input type="password" name='password' placeholder="密码">
<input type="submit" value='登录'>
</form>
from flask import Flask,g,render_template,request
from readlog import read # 引入打印用户信息模块(文件)
# 渲染页面
.route('/')
def fn():
return render_template('html.html')
#登录,把用户信息存到 g 对象
.route('/login',methods=['GET','POST'])
def login():
if request.method == 'POST':
g.username = request.form.get('username')
g.password = request.form.get('password')
read()
return '登陆成功'
if __name__ == '__main__':
app.run(debug=True)
#readlog文件-----打印用户,用户的密码,什么是时间登录 (日志)
from flask import g
from datetime import datetime
def read():
now = datetime.now()
print('登陆时间是:%s' % str(now)) # 登陆时间是:2019-09-05 15:08:32.457721
print('用户账号是:%s,密码是:%s ' % (g.username,g.password)) # 用户账号是:123,密码是:lxc