を変更し、使用してフラスコアプリケーションを実行しているときは、内蔵のサーバー(Flask.run
)、それはそのPythonのファイルを監視し、自動的にアプリを再ロードする場合は、そのコードの変更:リロードフラスコアプリテンプレートファイルは、デフォルトでは
* Detected change in '/home/xion/hello-world/app.py', reloading
* Restarting with reloader
残念ながら、これは* .pyファイルのみで動作するようですが、この機能を他のファイルに拡張する方法はありません。特に、テンプレートが変更されたときにFlaskを再起動することは非常に便利です。私はテンプレートでマークアップを使っていて何回も変更を見ていないと混乱し、何度もJinjaテンプレートの古いバージョンを使用していたことを知りました。
Flaskモニタファイルをテンプレートディレクトリに入れる方法はありますか、それともフレームワークのソースに潜入する必要がありますか?
:私はUbuntu 10.10を使用しています。他のどのプラットフォームでも実際に試してみませんか?
はさらに、問い合わせの後、私は、テンプレートの変更が実際にがアプリ自体をリロードせずに、リアルタイムで更新されていることを発見しました。ただし、これはflask.render_template
に渡されるテンプレートにのみ適用されます。
しかし私のアプリでは、Jinjaテンプレートで使用する、再利用可能な、パラメータ化されたコンポーネントがかなりあります。それらは{% macro %}
として実装されており、専用の「モジュール」にあり、実際のページには{% import %}
です。すべて素敵でDRY ...ただし、インポートされたテンプレートは、render_template
をまったく通過しないため、変更の有無は確認されません。
(不思議なことには、これは{% extends %}
を通じて呼び出されたテンプレートに発生しません。{% include %}
として、私は私が実際にそれらを使用しないよう見当がつかない。)
ので、この現象のルーツをラップしますJinjaとFlaskまたはWerkzeugのどこかにあるようだ。私はそれがどちらかのプロジェクトのバグトラッカーへの旅行を保証するかもしれないと思います:)一方、私はjdを受け入れました。の答えは、これが私が実際に使った解決策だからです。そしてそれは魅力のように機能します。
:のpython3と私の場合、私は次のコードでそれを解決しました#デバッグモード)。 –