zoukankan      html  css  js  c++  java
  • 应用上下文和请求上下文

    from flask import Flask,request,session,url_for,current_app
    from werkzeug.local import Local,LocalStack #线程隔离技术
    #只要绑定在Local对象上的属性
    #在每个线程中都是隔离
    
    app = Flask(__name__)
    
    
    # print(current_app.name)#RuntimeError: Working outside of application context.
    #怎么解决上面的错误
    app_context = app.app_context()
    app_context.push()#把当前app推进取
    print(current_app.name)#flask_context_demo
    #可以用with语句简化
    with app.app_context():
        print(current_app.name)
    
    
    @app.route('/')
    def hello_world():
        #就是显示当前app的名字
        print(current_app.name)
        print(url_for('my_list'))
        return 'Hello World!'
    
    
    @app.route('/list/')
    def my_list():
        return 'my list'
    
    
    with app.test_request_context():
        #手动推入一个请求上下文到请求上下文栈中
        #如果当前应用上下文栈中没有应用上下
        #那么会首先推入一个应用上下文到栈中
        print(url_for('my_list'))
    
        
    if __name__ == '__main__':
        app.run()

     

    from flask import g
    
    
    def log_a():
        #只要绑定到g对象上的属性,哪里都能用
        print('log a %s' % g.username)
    
    
    def log_b():
        print('log b %s' % g.username)
    
    
    def log_c():
        print('log c %s' % g.username)

     

  • 相关阅读:
    ecstore前台模板变量处理
    MySQL慢查询日志总结
    Linux 操作MySQL常用命令行
    CGI、FastCGI和php-fpm的概念和区别
    sync实现windows与nginx主机端文件同步(参考文档)
    PHP实现四种基本排序算法
    http和https协议
    linux的计划任务
    php封装一个接口类
    mysql的常见面试问题
  • 原文地址:https://www.cnblogs.com/wuheng-123/p/9748609.html
Copyright © 2011-2022 走看看