вторник, 25 декабря 2012 г.

Python Получение переменных GET и POST из адресной строки

В PHP вы можете использовать $_POST для POST и $_GET для GET для получения переменных из адресной строки (Query string variables). Каков же будет эквивалент этих команд в Python?

Python - это просто язык программирования, поэтому для того, чтобы получить данные GET и POST вам необходимо использовать специальный фреймворк, написанный на Python, такой, например, как: Django, Turbogears, Pylons, CherryPy, web.py, mod_python, fastcgi и многие другие.

Представим, что вы отправили значения на сервер из данной формы:

<input type="text" name="username" />


Тогда при использовании чистого CGI вам поможет данный код:

import cgi
form = cgi.FieldStorage()
print form["username"]


Если вы используете Django или Pylons:

print request.GET['username'] # для GET
print request.POST['username'] # для POST


Если вы используете Turbogears или Cherrypy:

from cherrypy import request
print request.params['username']

Используя Cherrypy или Turbogears вы можете также определить управляющую функцию, принимающую параметры напрямую:

def index(self, username):
    print username


Если вы используете Web.py:

form = web.input()
print form.username


Если вы используете Werkzeug:

print request.form['username']


Для совсем сырого способа получения данных воспользуйтесь этим кодом:

import os, sys

# строка запроса, содержащая необработанные данные GET
# (Для примера для http://example.com/myscript.py?a=b&c=d&e
# это будет "a=b&c=d&e")

os.getenv("QUERY_STRING")

# чистые данные POST
sys.stdin.read()

Комментариев нет:

Отправить комментарий