如何在appengine-magic中与本地运行的数据存储区服务进行交互?

时间:2013-01-13 22:52:51

标签: google-app-engine clojure appengine-magic

我正在使用appengine-magic来设置一个Web应用程序,或多或少,如http://www.digitalbricklayers.com/2012/03/geotasklist-in-jquery-mobile-and.html所述。该示例适用于我的本地计算机,位置和任务已添加到本地数据存储区等。

我的问题是,是否可以在REPL中与数据存储区进行交互,例如在交互式开发期间调用(ds / save!...)等?我问,因为当我尝试时,我得到:

NullPointerException没有为此线程注册API环境    com.google.appengine.api.datastore.DatastoreApiHelper.getCurrentAppId    (DatastoreApiHelper.java:108)

无论是否使用基于逆时针的蚀刻设置或基于emacs + slime的设置,我都会收到此错误。

谢谢, 勒夫

2 个答案:

答案 0 :(得分:0)

有很多方法可以做到这一点。

最简单的方法是转到管理控制台(http:// localhost:/ _ah / admin)并单击“交互式控制台”。

我使用django-nonrel,它带有一个命令来启动交互式shell(manage.py shell)。如果你不使用django-nonrel,虽然设置它,但有点牵扯。我怀疑在django-nonrel中的setup_env()函数中找到了大部分必要的内容:https://github.com/django-nonrel/djangoappengine/blob/develop/djangoappengine/boot.py 让一切顺利工作是一种痛苦,祝你好运。

我99%的时间使用的解决方案是使用pdb并强制解释器在我的应用程序中的某个位置中断,我需要进行一些调试。有关说明,请参阅此处:http://eatdev.tumblr.com/post/12076034867/using-pdb-on-app-engine

答案 1 :(得分:0)

appengine-magic允许您在应用程序运行时使用App Engine服务(如数据存储区);请参阅https://github.com/gcv/appengine-magic#app-engine-services - 只要您ae/start申请,就应该有效。