れんたいびん
2720 ワード
𘥬▼この文の内容の出所:|ʣ5|
フラスコはappオブジェクトを使用して複数設定 このようにappオブジェクトをグローバルに使用すると、プロジェクト規模が大きいほど、問題が発生する確率が高くなる ループリファレンス(ループインポート)エラー
まず
pybo.pybo/initファイル.pyファイルで置換
上のようにうまく動いているのが見えます
置換は実際にはファイル名の変更です
ただし、blackrunコマンドはC:/project/myprojectディレクトリで実行する必要があります.ほかのところで実行すれば、実行できるが、正常ではない.後でサーバーを実行するときは、必ず位置を確認してください.
今はinitです.pyファイルを開き、create app関数を宣言してフラスコオブジェクトを作成する方法でコードを変更します.
ここで使用するcreate app関数はアプリケーションファクトリです
に感謝create appの代わりに別の名前を使用すると、正常に動作しません create appはフラスコ内部で定義された関数名である. 修正したコードを
グッドグッドグッド!
2-01フラスコベース
▼▼▼▼フラスコアプリとはFlask系で作られた対象
app = Flask(__name__)
使用」アプリケーションファクトリ
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関数はアプリケーションファクトリです
に感謝
flask run
に実行します.グッドグッドグッド!
Reference
この問題について(れんたいびん), 我々は、より多くの情報をここで見つけました https://velog.io/@cdspacenoob/jtf02テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol