Python: как показать результаты на веб-странице?

Аккуратные функции, умножьтесь r и добавьте пкс или pY как соответствующих.

9
задан Peter Mortensen 15 April 2010 в 15:08
поделиться

8 ответов

Похоже, вам просто нужно включить CGI на apache , что в значительной степени перенаправит ваш вывод на вывод веб-сервера.

Python имеет библиотеку CGI вы можете взглянуть на него.

Вот эссе Гвидо (немного устарело)

И интерактивная инструкция , которая выглядит многообещающей.

ps

Возможно, вы также захотите увидеть предложения Google для этого движка приложений Google (хотя это может быть не то, что вам нужно)

3
ответ дан 4 December 2019 в 21:10
поделиться

Для такой простой задачи вам, вероятно, не понадобится больше, чем CGI. К счастью, в Python есть встроенный модуль cgi , который должен делать то, что вы хотите.

Или вы можете изучить некоторые минимальные веб-фреймворки, такие как web.py .

4
ответ дан 4 December 2019 в 21:10
поделиться

Чей веб-сервер? Если это веб-сервер, предоставляемый компанией веб-хостинга или кем-то еще, и вы не контролируете его, вам необходимо выяснить, каким образом они поддерживают использование Python для написания веб-приложений. Недостаточно просто знать, что у них есть Python.

Как указывали другие, вероятно, будут поддерживаться по крайней мере сценарии CGI, использующие Python. CGI, однако, не очень практичен для запуска крупных веб-фреймворков Python, таких как Django.

Однако возможно, что веб-сервер также может поддерживать FASTCGI. Если это так, становится возможным использовать такие более крупные веб-фреймворки Python, поскольку FASTCGI использует постоянные процессы, тогда как CGI создает процесс для каждого запроса, где накладные расходы на большие веб-фреймворки Python обычно делают использование CGI непрактичным в результате.

Если сервер Apache управляется другими пользователями, использующими автономный веб-сервер Python, такой как wsgiref, и проксирование на него из Apache также не будет выполнимо, поскольку вы не можете настроить Apache для этого.

Итак, узнайте, как поддерживается использование Python для веб-приложений, и выясните, являетесь ли вы просто пользователем экземпляра Apache или у вас есть некоторая степень контроля над изменением его глобальных файлов конфигурации и его перезапуском. Это будет определять, что вы можете делать и использовать.

или есть ли у вас некоторая степень контроля над изменением его глобальных файлов конфигурации и его перезапуском. Это будет определять, что вы можете делать и использовать.

или есть ли у вас некоторая степень контроля над изменением его глобальных файлов конфигурации и его перезапуском. Это будет определять, что вы можете делать и использовать.

2
ответ дан 4 December 2019 в 21:10
поделиться

Извините, но веб-службы HTTP - это то, что вы ищете. Подумайте об этом так - вы помещаете форму на веб-страницу и кнопку отправки. Это идет к веб-службе, которая принимает запрос , обрабатывает этот запрос и возвращает ответ , который представляет собой страницу html. Вам никогда не придется на самом деле сохранять html, он всегда генерируется динамически, но, тем не менее, это действительная страница html.

Посмотрите на django http://www.djangoproject.com/ для высококачественного инструментария веб-сервисов на основе Python.

Первый шаг к пониманию идиомы запроса / ответа - это думать о запросе как о специально отформатированном (определенном CGI, то есть это GET или POST HTML действие) набор параметров командной строки, и ответ в виде специально отформатированного вывода (HTML), который отправляется не на стандартный вывод, а через «провод» в какой-то браузер. Отправка запроса осуществляется по сети и выполняет сценарий с некоторыми параметрами, и вы получаете обратно результат - вашу отформатированную HTML-страницу.

1
ответ дан 4 December 2019 в 21:10
поделиться

Я полностью согласен с Мэттом - Django - это то, что вам нужно. Django предоставляет полное решение и действительно замечательную документацию, которая поможет вам в работе. Если ваше приложение растет и становится более сложным, Django все еще может работать; Django работает даже для очень больших и очень сложных веб-сайтов.

Взгляните на бесплатную книгу, The Django Book .

Еще один плюс Django: если вы делаете свое веб-приложение на Django, вы можете перенести его на Google App Engine.

0
ответ дан 4 December 2019 в 21:10
поделиться

Я не читал DIVE INTO PYTHON, так что, возможно, то, что я говорю, излишне. Как сказал Даниэль, CGI может работать на вас. В наши дни это справедливо только для простых вещей с довольно низким количеством обращений. Модуль Python CGI описан здесь . Я всегда использовал этот модуль для обработки форм и просто делал распечатки для вывода. Насколько я смог понять, это обычный способ делать что-то, но я не делал много CGI с Python.

Вы не говорите, что делаете, поэтому я укажите то, что может быть очевидным: убедитесь, что вы сообщаете серверу, что выводите веб-страницу, причем самым первым выводом является тип содержимого, за которым следует пустая строка. Обычно это делается с помощью:

print "Content-Type: text/html"
print

(Для Python 2, для 3 you '

0
ответ дан 4 December 2019 в 21:10
поделиться

Текущий метод создания простого (одного из) сервера веб-страниц Python - это модуль wsgiref .

wsgiref - эталонная реализация спецификации WSGI, которую можно использовать для добавления поддержки WSGI к веб-серверу или платформе.

См. Некоторые вопросы SO ( https: // stackoverflow .com / search? q = [python] + wsgiref ), где приведены некоторые примеры кода и другие предложения.

Хорошее место для начала - wsgiref пример :

from wsgiref.simple_server import make_server

def hello_world_app(environ, start_response):
    status = '200 OK' # HTTP Status
    headers = [('Content-type', 'text/plain')] # HTTP Headers
    start_response(status, headers)

    # The returned object is going to be printed
    return ["Hello World"]

httpd = make_server('', 8000, hello_world_app)
print "Serving on port 8000..."

# Serve until process is killed
httpd.serve_forever()
0
ответ дан 4 December 2019 в 21:10
поделиться

Я думаю, что Django - это перебор. Если вы хотите узнать об этом, начните с чего-нибудь очень простого:

http://www.islascruz.org/html/index.php/blog/show/Python:-Simple-HTTP-Server- on-python..html

Вы можете поместить свой код там, где находится do_GET.

0
ответ дан 4 December 2019 в 21:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: