2012-04-16 13 views
8

Sono nuovo a web.py. Ho usato PHP molto. In PHP, parametri POST e GET parametro è memorizzato in diverse variabili globaliweb.py: come ottenere il parametro POST e il parametro GET?

Ad esempio:

curl http://127.0.0.1/test?get_param1=1 -d 'post_param1=2'

In PHP è possibile ottenere $_GET['get_param1'] è 1 e $_POST['post_param1'] è 2.

ma sembra parametri GET/POST non distinguibili in web.py?

posso solo usare web.input() per ottenere GET/parametri POST in un oggetto dict simile, ma non posso dire quale di essi è dalla stringa di query e che è da dati successivi

risposta

15

C'è in realtà un (non documentato?) _method parametro che può essere get, post o both (valore predefinito) per restituire le variabili dalle diverse origini. See the source for web.input(). Così, per esempio:

get_input = web.input(_method='get') 
post_input = web.input(_method='post') 

Tuttavia, ho usato web.py un sacco, e mai bisogno di questo. Perché è necessario distinguere tra i parametri di input nella stringa di query e i dati?

+0

Basta chiedersi se questo ha funzionato o aiutato? In tal caso, contrassegnare la risposta come accettata o votarla, rispettivamente. –