Доступ к строке запроса $ _GET и $ _POST или эквивалентам значений формы в Python - PullRequest
0 голосов
/ 21 января 2011

В PHP я могу получить значение в строке запроса следующим образом:

Итак, если URI запроса равен http://example.com/index.php?foo=bar

<?php echo $_GET['foo']; //bar ?>

Как я могу эмулировать приведенный выше код в Python? (и без использования тяжелого веб-фреймворка)

Я не могу найти простую документацию для самого простого способа сделать это в Python. Существует ли стандартная библиотека Python для обработки входящих HTTP-запросов? Я знаю, что Python не является языком шаблонов, но его широкое использование в Интернете предполагает, что должен быть простой способ справиться с этим.

Ответы [ 2 ]

3 голосов
/ 21 января 2011

Все веб-фреймворки делают это по-разному.Как вы говорите, Python не является языком шаблонов, поэтому нет автоматического способа обработки HTTP-запросов.

Существует cgi модуль , который является частью стандартной библиотеки, икоторый вы можете использовать для доступа к данным POST через cgi.FieldStorage(), но обслуживание приложения через стандартный CGI ужасно неэффективно и подходит только для очень мелкого материала.

Гораздо лучшая идея - использовать простую среду WSGI(WSGI является стандартом для обслуживания веб-приложений с Python).Их немало - мой любимый в настоящее время - фляга , хотя я слышу и хорошие новости о бутылке .

0 голосов
/ 21 января 2011

Ваш "не тяжелый веб-фреймворк" обычно должен передавать вам параметр запроса, и вы можете получить доступ к строкам get из request.GET или чего-то подобного.

...