zoukankan      html  css  js  c++  java
  • Python Flask 蓝图Blueprint

    1. 目录结构

    2. manage.py类似于django中manage

    import fcrm
    
    if __name__ == '__main__':
        fcrm.app.run(port=8001)

     3. fcrm下面的__init__.py文件

    from flask import Flask
    from .views import account          #导入fcrm.views目录下account.py模块,
    from .views import order            #导入fcrm.views目录下order.py模块,
    
    app = Flask(__name__)               #使用了蓝图,app.route() 这种模式就仍可以使用,注意路由重复的问题
    
    app.register_blueprint(account.account)          # 将views模块里的蓝图对象account注册到app
    app.register_blueprint(order.order)              # 将views模块里的蓝图对象order注册到app

    3. fcrm.view目录下面的account和order模块

    from flask import Blueprint
    
    order = Blueprint('order',__name__)     #创建一个blueprint对象。第一个参数可看做该blueprint对象的姓名
                                             #在一个app里,姓名不能与其余的Blueprint对象姓名重复
                                             #第二个参数__name__用作初始化
    
    @order.route('/order')           #将蓝图对象当做‘app’那样使用
    def login():
        return 'Order'
    from flask import Blueprint,render_template
    
    account = Blueprint('account',__name__)
    
    @account.route('/login')
    def login():
        # return 'Login'
        return render_template('login.html')
    小结思路:
        1. mange.py文件运行,首先运行fcrm目录下面的__init__.py文件中的代码
        2. init文件导入Flask以及view目录下面的py文件
        3. 接着init创建Flask对象
        4. 将views目录下面的模块文件注册到蓝图对象中
        5. mange.py最终运行的就是init中的代码app对象
  • 相关阅读:
    ffmpeg和opencv 播放视频文件和显示器
    ExtJS学习笔记:定义extjs类别
    debian软件安装基础(同tomcat案件)
    java逼出来的递归中间
    HDOJ 1047 Integer Inquiry
    BZOJ 3589 动态树 树链拆分+纳入和排除定理
    hdu 4884 TIANKENG’s rice shop(模拟)
    JQuery EasyUI学习框架
    excel
    Java和C#中String直接赋值与使用new创建(==与equals进行比较)的区别
  • 原文地址:https://www.cnblogs.com/supery007/p/8259728.html
Copyright © 2011-2022 走看看