zoukankan      html  css  js  c++  java
  • Flask快速入门(16) — 蓝图与g对象

    作用:对程序进行目录结构划分

    不使用蓝图,自己分文件

    目录结构:

    -templates
    -views
    	-__init__.py
        -user.py
        -order.py
    -app.py
    

    app.py

    from views import app
    if __name__ == '__main__':
        app.run()
    

    init.py

    from flask import Flask,request
    app = Flask(__name__)
    #不导入这个不行
    from . import order
    from . import user
    

    user.py

    from . import app
    @app.route('/user')
    def user():
        return 'user'
    

    order.py

    from . import app
    @app.route('/order')
    def order():
        return 'order'
    

    使用蓝图之中小型系统

    目录结构

    -flask_pro
    	-flask_test
        	-__init__.py
        	-static
            -templates
            -views
            	-order.py
                -user.py
         -manage.py
    

    init.py

    from flask import  Flask
    app=Flask(__name__)
    from flask_test.views import user
    from flask_test.views import order
    app.register_blueprint(user.us)
    app.register_blueprint(order.ord)
    

    manage.py

    from flask_test import  app
    if __name__ == '__main__':
        app.run(port=8008)
    

    user.py

    from flask import Blueprint
    us=Blueprint('user',__name__)
    
    @us.route('/login')
    def login():
        return 'login'
    

    order.py

    from flask import Blueprint
    ord=Blueprint('order',__name__)
    
    @ord.route('/test')
    def test():
        return 'order test'
    

    总结:

    1 xxx = Blueprint('account', name,url_prefix='/xxx') :蓝图URL前缀,表示url的前缀,在该蓝图下所有url都加前缀

    2 xxx = Blueprint('account', name,url_prefix='/xxx',template_folder='tpls'):给当前蓝图单独使用templates,向上查找,当前找不到,会找总templates

    3 蓝图的befort_request,对当前蓝图有效

    4 大型项目,可以模拟出类似于django中app的概念

    g对象

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

    g对象、flash和session的区别

    • g对象:一旦设置,只能在当前请求中获取,其他的请求都不能获取
    • flash :一旦设置,可在任意一次请求中获取,但是只能取一次
    • session:只要设置,在任意请求中都能拿到,无论你拿多少次
  • 相关阅读:
    超级变态之access查询
    计算机安全病毒问题汇集(转自华军)
    Avast I Love You
    Windows2003 3389端口修改
    希捷 250G 7200.10 8M(串口/5年盒)(买硬盘了~~~)
    DataTable 中Remove方法的使用
    我的主板(p5pl2e)
    冼东妹(为奥运冠军名字作诗)
    李彦宏告诫年轻人:向前看两年
    郭文珺(为奥运冠军名字作诗)
  • 原文地址:https://www.cnblogs.com/863652104kai/p/11707327.html
Copyright © 2011-2022 走看看