• Flask之蓝图的使用


    蓝图,听起来就是一个很宏伟的东西

    在Flask中的蓝图 blueprint 也是非常宏伟的

    它的作用就是将 功能 与 主服务 分开怎么理解呢?

    比如说,你有一个客户管理系统,最开始的时候,只有一个查看客户列表的功能,后来你又加入了一个添加客户的功能(add_user)模块, 然后又加入了一个删除客户的功能(del_user)模块,然后又加入了一个修改客户的功能(up_user)模块,在这个系统中,就可以将查看客户,修改客户,添加客户,删除客户的四个功能做成蓝图加入到客户管理系统中

    初始蓝图

    蓝图其实就是将单个的功能放入一个文件中, 然后这个文件可被加载到flask程序中, 还可以理解成一个没有run方法的Flask对象,这个理论虽然有很多的漏洞,

    但是我看到的的确就是这样

    创建一个蓝图

    创建一个目录用来存放蓝图, 下面是我的创建的目录, 这个目录下是负责做认证的, 有自己的template, 自己的static

    manage负责启动一个flask程序, 所有的蓝图都注册到manage.py中

    编写register.py实现的具体功能

    from flask import Blueprint, render_template
    
    app = Blueprint("auth", __name__, template_folder="auth_templates",url_prefix="/user") 
    @app.route('/register') 
    def register():
      return render_template("register.html")

    实例化Blueprint时还有那些参数?

    class Blueprint(_PackageBoundObject):
    
        def __init__(self, name, import_name, static_folder=None,
                     static_url_path=None, template_folder=None,
                     url_prefix=None, subdomain=None, url_defaults=None,
                     root_path=None):

    有一部分参数适合Flask是一样的, 不一样的有以下几个

    两个必须参数

      name: 当前蓝图的名字

      import_name: 当前模块

    新增的参数

      url_prefix: 前缀, 当前蓝图中的url在访问时都要加上这个前缀, 默认为空

     manage.py中使用蓝图, 启动项目

    from flask import Flask
    from app01 import register  # 导入写好的蓝图
    
    app = Flask(__name__)
    app.register_blueprint(register.app)  # 注册蓝图
    
    if __name__ == '__main__':
        app.run(debug=True)

    访问测试

    .

    大功告成

  • 相关阅读:
    SaltStack
    python模块相关
    python optparse命令解析模块
    python ConfigParser模块 配置文件解析
    pssh 批量管理执行
    rsync+inotify 实现实时同步
    [译]17-spring基于java代码的配置元数据
    [译]16-spring基于注解的配置元数据
    [译]15-spring 自动装配
    [译]14-spring 集合元素的注入
  • 原文地址:https://www.cnblogs.com/594504110python/p/10134235.html
Copyright © 2020-2023  润新知