2010-04-03 6 views
2

Je suis actuellement en train de jouer avec tipfy sur Appengine de Google et j'ai récemment rencontré un problème: je ne peux pas trouver de documentation sur l'utilisation des variables GET dans mon application, J'ai essayé de passer au crible les documentations tipfy et Werkzeug's sans succès. Je sais que je peux utiliser request.form.get('variable') pour obtenir des variables POST et **kwargs dans mes gestionnaires pour les variables d'URL, mais c'est autant que la documentation me le dira. Des idées?Obtenir des variables HTTP GET en utilisant Tipfy

+0

Que tenez-vous compte de la différence entre les variables d'URL et les variables GET? – Amber

Répondre

3

request.args.get('variable') devrait fonctionner pour ce que je pense que vous entendez par "GET data".

+0

Yep qui a fait l'affaire! Merci beaucoup. –

+0

Dans les tutoriels de tipfy (http://www.tipfy.org/wiki/tutorials/sessions/), ils utilisent cette syntaxe: request.args.get ('variable', None) Qu'est-ce que le 'Aucun' supplémentaire pour ? –

+0

@Wraith, ils l'ont probablement ajouté comme une application de "explicite vaut mieux qu'implicite" - dans ce cas je ne suis pas d'accord car je ne le vois pas comme explicite mais redondant (mais j'ajoute un retour explicite, ou redondant, ' Aucun 'à la fin des fonctions qui renvoient d'autres valeurs le long d'autres chemins). En tout cas, c'est une question strictement stylistique, sans aucune implication sémantique. –

2

Source: http://www.tipfy.org/wiki/guide/request/

Le demande objet contient toutes les informations transmises par le client de l'application. Vous récupérerez des valeurs GET et POST, des fichiers téléchargés, des cookies et des informations d'en-tête et plus encore. Toutes ces choses sont si communes que vous en serez très habitué.

Pour accéder à la demande objet, il suffit d'importer la demande variable à partir tipfy:

from tipfy import request 

# GET 
request.args.get('foo') 

# POST 
request.form.get('bar') 

# FILES 
image = request.files.get('image_upload') 
if image: 
    # User uploaded a file. Process it. 

    # This is the filename as uploaded by the user. 
    filename = image.filename 

    # This is the file data to process and/or save. 
    filedata = image.read() 
else: 
    # User didn't select any file. Show an error if it is required. 
    pass 
0

cela fonctionne pour moi (tipfy 0,6):

from tipfy import RequestHandler, Response 

from tipfy.ext.session import SessionMiddleware, SessionMixin 

from tipfy.ext.jinja2 import render_response 

from tipfy import Tipfy 

class I18nHandler(RequestHandler, SessionMixin): 
    middleware = [SessionMiddleware] 
    def get(self): 
     language = Tipfy.request.args.get('lang') 
     return render_response('hello_world.html', message=language) 
Questions connexes