我正在开发一个将在 Google App Engine 上运行的 python 应用程序。我使用以下目录结构设置我的应用程序:
approot/
app.yaml
index.yaml
myapp.py
controllers/
some_controller.py
some_controller1.py
models/
views/
...etc...
我的问题是当我进行更改时开发服务器不会总是自动重新加载我的代码,即使 Google 的文档说它会。
它唯一一次重新加载我的代码是在我所做的更改位于我的应用程序的顶级目录中时。子目录中的任何内容(例如 Controller )都将被忽略。每次进行更改时,我都必须停止并启动服务器。
我发现这确实阻碍了我的开发进度,尤其是因为没有重启按钮,你实际上必须点击停止然后再开始。
是否有补救措施,还是我只是做错了?我真的很喜欢有一个组织良好的项目,并且不想将我的所有文件都转储到顶级目录中。
最佳答案
重新加载机制可能与默认导入机制和内置 __import__
函数相关联。如果您(或您的框架)以其他一些巧妙的方式加载您的模块,重新加载器可能不会注意到。一种可能的解决方法是在 myapp.py
模块中显式导入关键模块。
关于python - App Engine 开发服务器在更改时不重新加载代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5508637/