3

私は、Google App Engine 上で実行される Python アプリに取り組んでいます。次のディレクトリ構造でアプリをセットアップします。

approot/
  app.yaml
  index.yaml
  myapp.py
  controllers/
   some_controller.py
   some_controller1.py
  models/
  views/

...etc...

私の問題は、変更を加えたときに、開発サーバーがコードを自動的に再読み込みするとは限らないことです。Google のドキュメントにはそう書かれています。

コードがリロードされるのは、変更がアプリの最上位ディレクトリにある場合のみです。サブディレクトリ (コントローラーなど) 内のものはすべて無視されます。変更が行われるたびに、サーバーを停止して起動する必要があります。

特に再起動ボタンがないため、実際には停止してから開始する必要があります。

これに対する救済策はありますか、それとも私が間違っているだけですか? 私はきちんと整理されたプロジェクトを持つことが本当に好きで、すべてのファイルを最上位ディレクトリにダンプしたくありません。

4

2 に答える 2

1

リロード メカニズムは、デフォルトのインポート メカニズムと組み込み__import__関数に関連付けられている可能性があります。あなた (またはあなたのフレームワーク) が他の巧妙な方法でモジュールをロードすると、リローダーは気付かないかもしれません。可能な回避策は、モジュールに主要なモジュールを明示的にインポートすることmyapp.pyです。

于 2011-04-01T02:51:44.370 に答える