Для простого сценария для ответа на веб-запрос я не использовал mod_python
; вы, вероятно, захотите перейти на mod_wsgi
вместо этого.
Вы должны самостоятельно проанализировать переменную WSGI 10; Вы можете сделать это с urlparse.parse_qs()
function:
from urlparse import parse_qs
def application(environ, start_response):
params = parse_qs(environ['QUERY_STRING'])
foo = params.get('foo', [None])[0]
parse_qs
разбирает из строки запроса и устанавливает значение в результирующем словаре в список за ключ, потому что ключи могут происходить несколько раз в строке запроса.
Вышеуказанное выберет первое значение в списке, или None
, если ключа нет вообще.
Если вы собираетесь придерживаться простого ванильного WSGI, прочитайте decent tutorial, чтобы понять, как это работает. Однако я настоятельно рекомендую вам использовать структуру; даже просто Werkzeug может сделать вашу жизнь как разработчика намного проще, даже для простого скрипта.
Если вы собираетесь придерживаться обработчика в mod_python
запроса, замените environ['QUERY_STRING']
с request.args()
:
from urlparse import parse_qs
def requesthandler(req):
params = parse_qs(req.args)
foo = params.get('foo', [None])[0]
Вы используете какие-либо веб-рамки или вы пьете из WSGI шланга напрямую? –
Нет, я не использую фреймворк :) Основной веб-сервер python :) – user3818090
Тогда начните использовать его сейчас. Существует мало причин оставаться на этом низком уровне. Выберите один из https://wiki.python.org/moin/WebFrameworks, хотя Flask, Pyramid и Django наиболее популярны прямо сейчас в зависимости от ваших потребностей. –