2011-12-28 9 views
0

開発中のアプリケーションにremote_api_shell.pyのような機能がある可能性はありますか? remote_api_shell.pyは、デプロイされたアプリケーションを指すように要求し、replコンソールを提供します。 remote_api_shellを使用しているときに開発ディレクトリのos.chdirにgoogle apisを使用してモジュールを使用できなかったため、次のような制限がありました。開発中のアプリケーションのためのappengineコンソール?

私は開発中のアプリケーションをデータモデル化しようとしていたのでローカルコンソールが必要だと感じました。要求処理レイヤーやアプリケーションをアップロードせずに、モデルを常に試したり変更しなければなりませんでした。これは、インタラクティブなセッションで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

Doh!私はすぐにこの質問を投稿して答えを見つけました。

ステップ1:1つのシェルセッションでアンダー開発のアプリを実行します

python dev_appserver.py app 

ポートの下のデフォルトの実行により、アプリケーション8080

ステップ2:別のシェルセッションを開き、へremote_api_shell.pyを使用実行中のインスタンスに接続します。

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

ここでは、実験用のアプリコンソールが用意されています。

以前はローカルアプリケーションでremote_api_shell.pyを実行しようとしていましたが、実行しませんでした。

更新さらに、http://localhost:8080/_ah/admin/interactiveコンソールには完全スニペットを書き込む機能があります。