zoukankan      html  css  js  c++  java
  • flask:蓝图--blueprint

    一、蓝图

      1、什么是蓝图?(WHAT)

        1)蓝图就是模块化处理的类

        2)用于实现单个应用的视图、模板、静态文件的集合

        总结:蓝图就是一个存储操作路由映射方法的容器,主要用来实现客户端请求和URL相互关联的功能

      2、为什么使用蓝图?(WHY ,  WHERE)

        1)我们所有的视图函数都写在了一个文件当中,当我们的业务越来复杂的时候。视图函数也会变得越来越多,导致阅读不方便,维护起来困难等难题

        2)当我们以功能或模块将不同的代码进行分离,写入对应的蓝图里,可以加速我们管理项目的速度,解决上诉问题。

      3、如何使用蓝图?(HOW)

        文件目录

        

    from flask import Blueprint
    
    app1 = Blueprint('app01',__name__)
    from . import views
    app01/__init__.py
    from . import app1
    
    @app1.route('/index01')
    def show():
        return 'app01.hello'
    
    #下面可以写关于app1的其他函数
    app01/views.py
    from flask import Blueprint
    
    app2 = Blueprint('app02',__name__)
    from . import views
    app02/__init__.py
    from . import app2
    
    @app2.route('/index02')
    def show():
        return 'app02.hello'
    
    #下面继续关于app02的其他视图函数
    app02/views.py
    from flask import Flask
    from app01 import app1
    from app02 import app2
    
    app = Flask(__name__)
    
    app.register_blueprint(app1)
    #url_prefix:指定域名前缀
    app.register_blueprint(app2,url_prefix='/app02')  
    app.register_blueprint(app1,url_prefix='/app03')
    app.register_blueprint(app2,url_prefix='/app04')
    
    
    if __name__=='__main__':
      app.run()
    
    #http://127.0.0.1:5000/index01            app01.hello
    #http://127.0.0.1:5000/app02/index02        app02.hello
    #http://127.0.0.1:5000/app03/index01        app01.hello
    #http://127.0.0.1:5000/app04/index02        app02.hello
    test_blueprint.py

    二、使用蓝图创建一个类django的项目工程

  • 相关阅读:
    css去掉iPhone、iPad默认按钮样式
    STL~Deque简介
    Centos 7 ssh登录速度慢
    C++ delete 两次
    编译gdb 报错 No module named gdb.frames
    gdb 脚本
    转载: CentOS/Linux 解决 SSH 连接慢
    百度经验:Win10查看已存储WiFi密码的两种方法
    git 操作
    Avoiding memory leaks in POSIX thread programming, 多线程避免内存泄漏
  • 原文地址:https://www.cnblogs.com/ppzhang/p/11753180.html
Copyright © 2011-2022 走看看