用于开发应用的appengine控制台?

时间:2011-12-28 05:55:26

标签: python google-app-engine

是否有可能为正在开发的应用程序提供类似remote_api_shell.py的功能。 remote_api_shell.py要求我们指向已部署的应用程序并提供repl控制台。我在使用remote_api_shell时发现了以下限制,如果我将os.chdir添加到我的开发目录中,我无法使用我使用google apis编写的模块。

我觉得需要本地控制台,因为我正在尝试对正在开发的应用程序进行数据建模,我不得不经常尝试/更改我的模型,而无需通过请求处理层或上传应用程序。这可能适合在交互式会话中尝试Model的各种功能。 con.appspot.com在浏览器中提供控制台,我觉得不适合编写类或导入小型测试模块。

这样的东西不起作用,因为它需要_app来保持。

 import setapipaths # Sets the paths to google appengine apis
 import sys

 from google.appengine.ext import db

 class TodoList(db.Model):
     name = db.StringProperty(required=True)

 class TodoItem(db.Model):
     user = db.UserProperty(required=True)
     date = db.DateTimeProperty(auto_now_add=True)
     belongs_to = db.Reference(TodoList)
     description = db.StringProperty(multiline=True)
     rating = db.IntegerProperty(required=True)
     score = db.IntegerProperty(required=True)

 todolist = TodoList()
 todolist.name = "firstline"
 todolist.put()

 obj1 = TodoItem(user='senthil',belongs_to=todolist.key(),description="something",rating=10,score=5)
 obj1.put()

1 个答案:

答案 0 :(得分:1)

卫生署!我发布这个问题后立即找到了答案。

第1步:在一个shell会话中运行您的应用程序欠开发

python dev_appserver.py app

默认情况下,应用程序在端口8080下运行

步骤2:打开另一个shell会话,并使用remote_api_shell.py连接到正在运行的实例。

PYTHONPATH=. remote_api_shell.py -s localhost:8080 app

在那里,您将获得用于试验的应用控制台。

以前我试图在本地应用程序上使用remote_api_shell.py,而不运行它。

更新:此外,我发现http://localhost:8080/_ah/admin/interactive控制台提供了编写完整代码段的功能。