問題タブ [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.
python - 引数のないノーズの main() は奇妙な動作を引き起こします
Flask アプリがあり、Flask-Script と Flask-Testing を使用しています。基本的にmanage.py
、次のようなファイルがあります。
私のアプリツリーは次のようになります:
__init__.py
Flask-SQLAlchemy をテストで機能させるいくつかのもののみを保持しtest_one.py
、空のテスト関数のみを含みます。
奇妙な点: を実行するpython manage.py test
と、いくつかの奇妙なテストの実行が開始されます (Python 自体からのテストだと思います)。に変更nose.main()
するnose.main(argv=[''])
と、テストが適切に検出され、すべてがうまくいきます。
プレーンを使用することの何が問題になっていnose.main()
ますか?
flask - Flask-Script 内からの Flask のアプリとのやり取り
フラスコアプリを実行しています。それとやり取りできるものが必要です。次の例で説明しましょう。
フラスコアプリ:
Flask スクリプト (manager.py):
アプリ内から関数をreload_mytext()
呼び出します。text_reload()
このことを達成するために、flask-script にどのような魔法を入れるべきですか? そのようなことは可能ですか?
flask - 引数と cron ジョブを含む Flask-script
フラスコスクリプト拡張機能を使用してフラスコアプリケーションを実行しています。関数 (3 つの引数を持つ) が cron に配置され、次のように終了します。
フラスコスクリプトドキュメントに記載されているように-リンク
この関数は、コンソールで直接呼び出すと正常に動作します (flask-script doc に記載されているように)
私のcronにはありません(必要なコメント「#arg2コメント」が追加されています)。
このスクリプトをラズベリー pi で実行すると、cron または python からエラーが発生しません。どんな手掛かり?
flask - ブループリントの初期化、ブループリントへの最初のリクエストの前に関数を実行できますか
特定のへの最初のリクエストの前に関数を実行することは可能blueprint
ですか?
現在、これにより次のエラーが発生します。
python - フラスコ アプリケーションの開始後にコードを実行する
私の目標は、Flask アプリケーションの起動後に任意のコードを実行することです。これが私が持っているものです:
理想的には、これを行うことができます:
しかし、コードは を超えて継続しないapp.run()
ため、 some_code() は実行されません。
私が現在取り組んでいる解決策は、 app.run() とは別のスレッドで some_code() を実行し、これを設定する最初のリクエスト関数の前に作成することです:
次に、 some_code() を取得してアプリへの基本的なリクエストを送信し、「最初のリクエストの前」コードが実行されるようにします。これはかなり複雑で、文書化するのは難しいでしょう。Flask で既に提供されている app.is_running パラメータを使用するか、@app.after_server_start
デコレータを使用したいのですが、私の知る限り、どちらも存在しません。
このコードを改善するのを手伝ってください。
死後: この問題について考えるたびに、@app.after_server_start
デコレータが存在することを願っています。
flask - アプリ ファクトリとフラスコ スクリプトを使用する場合の Flask アプリのインポート
これはFlaskアプリのコンテキストです
アプリ コンテキストのユース ケースのほとんどには、同じスクリプトで「アプリ」を初期化するか、ベースからアプリをインポートすることが含まれます。
私のアプリケーションは次のように構成されています。
これは本当に些細な問題かもしれませんが、アプリケーションがこのように構成されている場合、「with app.app_context()」をどのように呼び出す必要がありますか?
python - フラスコスクリプトの@manager.optionsにデフォルト値を設定する方法
通常のAPIRestサービスがフラスコを介して管理しているSQLデータベースにアクセスするために、フラスコスクリプトパッケージを使用してコマンドラインpythonスクリプトを作成しました。スクリプト コマンドのパラメーターの設定に問題があります。特に:
a) @manager.options 行内でデフォルト値を設定する方法
b) フラグの立て方
私は次のようなことを試しました:
これを関数変数に追加することでデフォルト値を「ハック」することができましたが、@manager.option の「デフォルト」パラメータが何のためのものかわかりません。さらに、useCredit は常に値を要求しますが、どうすればそれをフラグにできますか?
アップデート
@carlos の回答のおかげで、manager.option コマンド内でデフォルト パラメータを設定するように機能するため、間違ってテストしていたに違いないことに気付きました。関数定義に配置した値 (def newClient(credit=100, useCredit=False) は無視されるようです。システムによる警告またはエラーが予想されていました...