問題タブ [flask-script]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
flask - フラスコ スクリプト、フラスコ ソケット、およびアプリケーション ファクトリでフラスコ移行を使用する
アプリケーション ファクトリ アプローチを使用してフラスコ アプリケーションを作成していますが、Flask-Migrate を socketio とフラスコ スクリプトで使用すると問題が発生します。
問題は、自分のcreate_app
関数をに渡していることですが、自分にもManager
渡す必要があります。そして今のところ、解決策が見えないようです。これら 2 つのソリューションを組み合わせる方法はありますか?app
socketio.run()
管理.py:
私が socketio で古いアプローチを使用したとき、flask-migrate なしではすべてが機能しました。新しいアプローチを使用して socketio 部分を削除すると、移行が機能します。
注: 次のコマンドの両方でアプリを呼び出せるようにしたいと考えています。
python manage.py run
python manage.py -t True db upgrade
編集:
使用しようとしていcurrent_app
ますRuntimeError: working outside of application context
python - uwsgi とフラスコ スクリプト マネージャーを使用してフラスコ アプリをデプロイする
伝統的に、以下のようなアプリケーションを呼び出すように UWSGI 構成ファイルを構成しました。
、
、
しかし今、私は Miguel Grinberg の Flask book に従っており、ここで彼は以下のようなアプリケーション ファクトリを使用しています。
「マネージャー」を使用する ( flask-script Managerを参照)
この構成では、開発サーバーをトリガーします$ python manage.py runserver
一方、トリガーする前に$ python run_web.py
現在、このアプリを UWSGI 経由で展開できるようにするために、uwsgi 構成ファイルに何を入れるかについて苦労しています。具体的にはapp
、 、module
、およびcallable
変数です。
ログに表示されるエラーは次のとおりです。
python - 子にフラスコスクリプトオプションを渡すにはどうすればよいですか
次の 3 つのモジュールがあります (Miguel Grinberg の優れた本に基づいています)。
__init__.py
manage.py
import_file.py
私は多くのファイル操作を行う予定で、コマンド ラインからテスト/デバッグを実行できるようにしたいので、さまざまな目的のために多数の _CLI モジュールが用意される予定です。取得する出力の冗長性を制御できるようにしたいので、冗長性オプションを定義しました。私が理解できないのは、実際にそのオプションを Import_File_CLI クラスに渡す方法です。option_list にオプションを追加できることはわかっていますが、実際にグローバル オプションにしたい場合は、作成するすべての _CLI クラスにそれを追加する必要があります。では、サブクラスのメイン マネージャーで設定したオプションにアクセスするにはどうすればよいでしょうか?
ドキュメントにはこの例がありますが、サブクラス化されたモジュールではなく、同じモジュールにあります。オプションをファクトリ関数に渡し、アプリ全体のデフォルトを設定することもできますが、ほとんどの場合、設定する必要がないため、これも最適とは言えません。おそらく、_CLI サブマネージャーを作成する必要がありますか?
python - Flask-script コマンドとオプションを追加する
ブール値のフラグと、コマンドの n 引数のオプションが必要です。望ましい使用例:
私の関数は現在次のようになっています (関数の本体には、両方が提供されている場合にエラーをスローするロジックもあります):
これは --ids オプションで機能しますが、 --all オプションでは次のようになりますerror: argument --all: expected one argument
。
TLDR: オプションとコマンドの両方を使用するにはどうすればよいですか?
flask - アプリの作成後に Flask 構成を変更する
Livereload + Flask + Flask SOcketIO + Flask Script を使用しています。問題は、SocketIO が gevent-socketio サーバーを必要とすることです。すべて livereload ではありません。誤解しないでほしいのですが、私はこの問題を解決したくありません。私は livereload を実行して css/sass/js の作業を行うだけなので、問題ありません。
しかし、クライアントが socketIO サーバーに接続しようとするたびにスローされる例外は、私を大いに悩ませます。だから私はJavaScriptを無効にすることができると思っていましたが、私のアプリは主にAngularに依存してディレクティブを非同期にレンダリングするため、スタイルを切り替えるためのタグがページにありません. 次に、構成プロパティを記述できるので、ページをロードするとJinja2がそれをjavascript変数として提供し、Falseに設定されている場合に特定のsocket-io jsファイルをロードしません。
config.py で設定します。
FLask-Script で livereload サーバーを実行します
config プロパティを JavaScript 側に渡す
しかし、これは機能しません (LIVERELOAD は常に True を表示します)。Config クラスが既に Flask アプリ オブジェクトに挿入された後にプロパティを設定しているためです。別の方法はありますか?
flask - フラスコソケティオとフラスコスクリプトを統合するにはどうすればよいですか
ここでは、ミゲルグリンバーグの例に従っています。実行すると問題なく動作します。私はherokuに提出しましたが、うまく動作します。ただし、flask-script と統合しようとすると、次のエラーが発生します。
ファイル "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/flask_socketio/ init .py", 27 行目、呼び出し で Raise RuntimeError('You need to use a gevent-socketio server .') RuntimeError: gevent-socketio サーバーを使用する必要があります。
私が統合している方法は、このコードを使用することです: