れんたいびん

2720 ワード

𘥬▼この文の内容の出所:|ʣ5|

2-01フラスコベース


▼▼▼▼フラスコアプリとはFlask系で作られた対象

app = Flask(__name__)
  • フラスコはappオブジェクトを使用して複数設定
  • このようにappオブジェクトをグローバルに使用すると、プロジェクト規模が大きいほど、問題が発生する確率が高くなる
  • ループリファレンス(ループインポート)エラー
  • 使用」アプリケーションファクトリ

    myproject/pybo.py|ファイルをmyproject/pybo/__init__.pyファイルに置き換える
    まず(myproject) c:\projects\myproject> mkdir pyboコマンドで新しいディレクトリを作成します.
    pybo.pybo/initファイル.pyファイルで置換📌 move pybo.py pybo/__init__.pyフラスコサーバーを1台実行

    上のようにうまく動いているのが見えます
    置換は実際にはファイル名の変更です
    ただし、blackrunコマンドはC:/project/myprojectディレクトリで実行する必要があります.ほかのところで実行すれば、実行できるが、正常ではない.後でサーバーを実行するときは、必ず位置を確認してください.
    今はinitです.pyファイルを開き、create app関数を宣言してフラスコオブジェクトを作成する方法でコードを変更します.
    from flask import Flask
    
    # app = Flask(__name__)     # 이렇게 app객체를 생성하는 방식에서
    
    # 함수를 통해 app객체를 생성하고 반환하도록 바꿔보자
    def create_app():
        app = Flask(__name__)
    
        @app.route('/')     # @pp.route()는 데코레이터
                            # 기존 함수를 변경하지 않고 추가 기능을 덧붙이는 함수
        def hello_pybo():
            return 'Hello, Pybo!'
    
         # return은 app 객체를 반환!
        return app
    
    このときappオブジェクトは関数で使用されるため、hello pybo関数はcreate app関数に含まれます.
    ここで使用するcreate app関数はアプリケーションファクトリです
    に感謝
  • create appの代わりに別の名前を使用すると、正常に動作しません
  • create appはフラスコ内部で定義された関数名である.
  • 修正したコードをflask runに実行します.

    グッドグッドグッド!