2011-12-28 3 views
0

Y a-t-il une possibilité d'avoir une fonctionnalité similaire à remote_api_shell.py pour l'application en cours de développement? Le remote_api_shell.py nous demande de pointer vers l'application déployée et donne la console repl. J'ai trouvé une limitation suivante lors de l'utilisation de remote_api_shell, si os.chdir dans mon répertoire de développement, je n'ai pas pu utiliser les modules que j'écris en utilisant google apis. J'ai ressenti le besoin d'une console locale alors que j'essayais de modéliser une application en cours de développement et que je devais constamment essayer/changer mes modèles, sans passer par la couche de gestion des requêtes ou en téléchargeant l'application. Cela peut être utile d'essayer différentes fonctionnalités de Model dans la session interactive. con.appspot.com fournit une console dans le navigateur et je ne me sens pas adapté à l'écriture de classes ou à l'importation de petits modules de test.console appengine pour application en développement?

Quelque chose comme ça ne fonctionne pas, car il nécessite un _app pour tenir.

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() 

Répondre

1

Doh! J'ai trouvé la réponse dès que j'ai posté cette question.

Étape 1: Lancez votre application sous-développement dans une session shell

python dev_appserver.py app 

l'application par fonctionne par défaut sous le port 8080

Étape 2: Ouvrez une autre session shell et utiliser le remote_api_shell.py à se connecter à l'instance en cours d'exécution.

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

Là, vous obtiendrez la console de l'application pour expérimenter.

Auparavant, j'essayais d'utiliser le remote_api_shell.py sur l'application locale, sans l'exécuter.

Mise à jour: En outre, j'ai trouvé que la console http://localhost:8080/_ah/admin/interactive offre la possibilité d'écrire un extrait complet.

Questions connexes