伝統的に、以下のようなアプリケーションを呼び出すように UWSGI 構成ファイルを構成しました。
mydirectory/uwsgi_application.ini
...
#python module to import
app = run_web
module = %(app)
callable = app
...
、
mydirectory/run_web.py
from ersapp import app
if __name__ == "__main__":
app.run()
、
mydirectory/ersapp/__init__.py
...
app = Flask('ersapp')
...
しかし今、私は Miguel Grinberg の Flask book に従っており、ここで彼は以下のようなアプリケーション ファクトリを使用しています。
mydirectory/ersapp/__init__.py
...
def create_app(config_name):
webapp = Flask(__name__)
...
return webapp
「マネージャー」を使用する ( flask-script Managerを参照)
mydirectory/manage.py
from webapp import create_app
...
webapp = create_app(os.getenv('FLASK_CONFIG') or 'default')
manager = Manager(webapp)
...
if __name__ == '__main__':
manager.run()
この構成では、開発サーバーをトリガーします$ python manage.py runserver
一方、トリガーする前に$ python run_web.py
現在、このアプリを UWSGI 経由で展開できるようにするために、uwsgi 構成ファイルに何を入れるかについて苦労しています。具体的にはapp
、 、module
、およびcallable
変数です。
ログに表示されるエラーは次のとおりです。
...
--- no python application found, check your startup logs for errors ---
...