可在localhost:8080 / _ah / admin访问的交互式控制台对于调试App Engine应用程序非常有用。
我总是发现自己一遍又一遍地导入相同的模块,特别是模型。
我看了猴子修补交互式控制台以自动导入这些模型,我很难过。理想情况下,我可以从我的应用程序执行此操作,因此每次更新SDK时都不需要重新应用修补程序。
我会调查并希望找到答案,如果您对如何实现这一点有任何想法,请告诉我。
答案 0 :(得分:3)
好问题!交互式控制台的相关代码位于google/appengine/ext/admin/init.py:188的InteractiveExecuteHandler中。具体来说,它执行如下代码:
try:
compiled_code = compile(code, '<string>', 'exec')
exec(compiled_code, globals())
except Exception, e:
traceback.print_exc(file=results_io)
请注意,对于全局变量,它只使用它所在模块的全局变量。因此,为了提供您自己的导入,您需要做的就是:
答案 1 :(得分:3)
我最终使用的是带有autoexec.py的App Engine Console项目,该项目提供了我所询问的功能。
答案 2 :(得分:1)
我不确定这是否适合您的目的,但您只需编辑交互式控制台页面的html模板即可输入不同的默认文本。它位于:
./google_appengine/google/appengine/ext/admin/templates/interactive.html
这适用于您的所有应用,正如您所提到的,每次SDK更新时您都必须使用它。