Flask-青写真学習

1962 ワード

青写真とは
青写真:単一のアプリケーションを実装するためのビュー、テンプレート、静的ファイルは、モジュール化処理のクラスです.
 
なぜ青写真を
  • ビジネスコードの増加に伴い、すべてのコードを1つのプログラムファイルに書き込むのは非常に不適切であり、コードの読み取りが困難になるだけでなく、後期のメンテナンスにも迷惑をかける.
  • ですので、テープをモジュール化する必要があります.具体的に異なる機能モジュールの実現に基づいて、異なる分類に分け、機能モジュール間の結合度を低減し、pythonにおけるモジュールの作成と導入は、機能モジュールのパッケージを実現する需要に基づいている.
  • pythonのミクオワはコードを分解できるが,ルーティングマッピングの問題は解決できない.

  •  
    青写真の役割
  • 異なる機能をモジュール化
  • 大規模アプリケーションの構築
  • プロジェクト構造の最適化
  • 読みやすさを向上させ、
  • のメンテナンスを容易にする
     
    モジュール化されたアプリケーションを青写真で実現する方法
    青写真の定義
    app/home/__init__.py:
        from flask import Blueprint
        home = Blueprint("home", __name__)
        import app.home.views
    
    
    
    
    app/home/__init__.py:
        from flask import Blueprint
        admin = Blueprint("admin", __name__)
        import app.admin.views

    登録青写真
    app/__init__.py
    
    from flask import Flask
    
    app = Flask(__name__)
    app.debug = True
    
    from app.home import home as home_blueprint
    from app.admin import admin as admin_blueprint
    
    
    #    
    app.register_blueprint(home_blueprint)
    app.register_blueprint(admin_blueprint, url_prefix="/admin")

     
    青写真を呼び出す
    app/home/viwes.py
    
    from . import home
    
    @home.route("/")
    def index():
        return "this is home"
    
    
    
    app/admin/viwes.py
    
    from . import admin
    @admin.route("/")
    def index():
        return "this is admin"

     
    エントリファイル
    manage.py
    
    from app import app
    
    
    if __name__ == "__main__":
        app.run(host='0.0.0.0', port='8080')

     
    単純プロジェクト構造
    web
    └── app
        ├── admin
        │   ├── __init__.py         #  
        │   └── views.py            #   
        ├── home
        │   ├── __init__.py         #  
        │   └── views.py            #  
        ├── __init__.py             #  
        ├── manage.py               #     
        ├── models.py
        ├── static
        └── templates