g对象  一次请求中使用

下面用redirect重定向,不是同一次请求了

g:global

1. g对象是专门用来保存用户的数据的。 
2. g对象在一次请求中的所有的代码的地方,都是可以使用的。

使用步骤: 
1.创建一个utils.py文件,用于测试除主文件以外的g对象的使用 
utils.py

  1.  
    #encoding: utf-8
  2.  
     
  3.  
    from flask import g
  4.  
     
  5.  
    def login_log():
  6.  
    print u'当前登录用户是:%s' % g.username
  7.  
     
  8.  
     
  9.  
    def login_ip():
  10.  
    print u'当前登录用户的IP是:%s' % g.ip

2.在主文件中调用utils.py中的函数

  1.  
    #encoding: utf-8
  2.  
     
  3.  
    from flask import Flask,g,request,render_template
  4.  
    from utils import login_log,login_ip
  5.  
     
  6.  
    app = Flask(__name__)
  7.  
     
  8.  
     
  9.  
    @app.route('/')
  10.  
    def hello_world():
  11.  
    return 'Hello World!'
  12.  
     
  13.  
     
  14.  
    @app.route('/login/',methods=['GET', 'POST'])
  15.  
    def login():
  16.  
    if request.method == 'GET':
  17.  
    return render_template('login.html')
  18.  
    else:
  19.  
    username = request.form.get('username')
  20.  
    password = request.form.get('password')
  21.  
    g.username = username
  22.  
    g.ip = password
  23.  
    login_log()
  24.  
    login_ip()
  25.  
    return u'恭喜登录成功!'
  26.  
     
  27.  
    if __name__ == '__main__':
  28.  
    app.run()

测试: 
 现在在浏览器里面,访问两次服务器,效果如下:

flask g对象的更多相关文章

  1. Flask g 对象

    1.什么是g对象? 在 flask 中,有一个专门用来存储用户信息的 g 对象,g的全称的为global. g 对象在一次请求中的所有的代码的地方,都是可以使用的. 赋值方式 from flask i ...

  2. Flask上下文管理、session原理和全局g对象

    一.一些python的知识 1.偏函数 def add(x, y, z): print(x + y + z) # 原本的写法:x,y,z可以传任意数字 add(1,2,3) # 如果我要实现一个功能, ...

  3. flask的g对象

    故名思议我们可以理解这个g对象是一个全局的对象,这个对象存储的是我们这一次请求的所有的信息,只是存储这一次的请求 g:global 1. g对象是专门用来保存用户的数据的.  2. g对象在一次请求中 ...

  4. flask系列八之请求方法、g对象和钩子函数

    一.get方法 ,post方法 post请求在模板中要注意几点: (1)input标签中,要写name来标识这个value的key,方便后台获取. (2)在写form表单的时候,要指定method=' ...

  5. Flask初学者:g对象,hook钩子函数

    Flask的g对象 作用:g可以可以看作是单词global的缩写,使用“from flask import g”导入,g对象的作用是保存一些在一次请求中多个地方的都需要用到的数据,这些数据可能在用到的 ...

  6. flask框架(七)——蓝图、请求上下文、g对象、信号、flask_session

    蓝图 作用:对程序进行目录结构划分 不使用蓝图情况下,自己分文件 目录结构: -templates -views -__init__.py -user.py -order.py -app.py app ...

  7. Flask中current_app和g对象

      Flask零基础到项目实战(七)请求方法.g对象和钩子函数 一.get方法 二.post方法 post请求在模板中要注意几点: input标签中,要写name来标识这个value的key,方便后台 ...

  8. 六十九:flask上下文之线程隔离的g对象的使用

    保存全局对象的g对象g对象是在整个flask应用运行期间都是可以使用的,并且也是和request一样,是线程隔离的,这个对象是专门用来存放开发者自己定义的一些数据,方便在整个flask程序中都可以使用 ...

  9. Flask框架 (四)—— 请求上下文源码分析、g对象、第三方插件(flask_session、flask_script、wtforms)、信号

    Flask框架 (四)—— 请求上下文源码分析.g对象.第三方插件(flask_session.flask_script.wtforms).信号 目录 请求上下文源码分析.g对象.第三方插件(flas ...

随机推荐

  1. 【Mysql数据库】学习笔记

    一.数据库的创建 create database database_name  DEFAULT CHARACTER SET utf8; //创建一个数据库 drop database database ...

  2. *****Python之进程线程*****

    Python之进程线程 Python的threading模块   并发编程: 操作系统:位于底层硬件与应用软件之间的一层. 工作方式:向下管理硬件,向上提供接口. 进程:资源管理单位(容器) 线程:最 ...

  3. dynamic-imports & web components & html dynamic import

    dynamic-imports web components & html dynamic import https://github.com/webcomponents/html-impor ...

  4. 【判断二分图】C. Catch

    https://www.bnuoj.com/v3/contest_show.php?cid=9154#problem/C [题意] 给定一个无向图,给定小偷的起始位置 从这个起始位置开始,小偷可以在单 ...

  5. poj 1752 Advertisement (差分约束)

    题目大意:题目大意:有n个人在一条路上跑步,广告商准备在这条路上设置广告牌,假设这条路上每一个点有一个广告牌 现在已知这n个人从Ai开始跑,到Bi结束,那么他可以看到max(Ai,Bi)-min(Ai ...

  6. Jquery EasyUI动态生成Tab

    function addTab(title, url) { if ($('#tt').tabs('exists', title)) { $('#tt').tabs('select', title); ...

  7. PatentTips - Universal RAID Class Driver

    BACKGROUND OF THE INVENTION The present invention relates to the field of data storage devices. Comp ...

  8. OpenCV在Linux(Fedora)下搭建开发环境简述

    盼望了好久的Fedora21终于发行了.先来晒一张图: 默认桌面还是那么简洁: 好了,废话少说.来看看在Fedora下搭建opencv开发环境,因为我已经搭建好了(过程比较艰辛) 先注明参考文章,感谢 ...

  9. POJ 1064_Cable master

    题意: 给定一系列长度的电缆,将他们切成K条相等长度的电缆,问每条最长有多长? 分析: 对长度进行二分,判断能否满足K条. 二分搜索: 在求解最大化或最小化问题中,能够比较简单的判断条件是否满足,那么 ...

  10. 洛谷 P1081 开车旅行(70)

    P1081 开车旅行 题目描述 小AA 和小BB 决定利用假期外出旅行,他们将想去的城市从 11到 NN 编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 ii的海 ...