Как я использую Python для веб-разработки, не полагаясь на платформу?

Это не отличный ответ, но если вы знаете, что целевая рабочая станция имеет Powershell, вы можете сделать что-то вроде этого (предполагая сценарий BAT / CMD):

CALL:ECHORED "Print me in red!"

:ECHORED
%Windir%\System32\WindowsPowerShell\v1.0\Powershell.exe write-host -foregroundcolor Red %1
goto:eof
30
задан Shog9 27 February 2009 в 23:58
поделиться

9 ответов

Это весело, как, даже запрошенный с вопросом, спрашивающим, как записать без платформы, все все еще толпятся для продвижения их любимой платформы. OP хныкает о не желании “heavyweight framework”, и упоминание ответов Скрученный , всех вещей?! Ну-ка, действительно.

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

Для следования этим маршрутом Вы будете обычно хотеть быть знакомыми с основами HTTP и CGI (так как WSGI наследовался очень много той более ранней спецификации). Это - не обязательно подход, чтобы рекомендовать новичкам, но это довольно выполнимо.

я хотел бы услышать обо всех заметных, минимальных все же мощных подходах

, Вы не будете слышать о них, потому что ни у кого нет племенного интереса к продвижению “do это yourself” как методология. Меня, я использую конкретный автономный пакет шаблонной обработки, конкретный автономный читающий форму пакет, конкретный уровень доступа к данным и несколько доморощенных модулей утилиты. Я не пишу в одну конкретную философию, о которой я могу обратить в веру, они - все просто буровые инструменты, которые могли быть выгружены и заменены чем-то еще столь же хорошим.

18
ответ дан 27 November 2019 в 23:20
поделиться

Способ пойти wsgi.

WSGI Интерфейс Шлюза веб-сервера . Это - спецификация для веб-серверов и серверов приложений для общения с веб-приложениями (хотя это может также использоваться для больше, чем это). Это - стандарт Python, описанный подробно в PEP 333.

Все текущие платформы поддерживают wsgi. Много веб-серверов поддерживает его также (включенный апач, до mod_wsgi). Это - способ пойти, если Вы хотите записать свою собственную платформу.

Вот привет мир, записанный в wsgi непосредственно:

def application(environ, start_response):
    status = '200 OK'
    response_headers = [('Content-type','text/plain')]
    start_response(status, response_headers)
    return ['Hello world!\n']

Помещенный это в file.py, укажите на Ваш mod_wsgi апачская конфигурация к нему, и это будет работать. Чистый Python. Никакой импорт. Просто функция Python.

, Если Вы действительно пишете свою собственную платформу, Вы могли бы проверить werkzeug. Это не платформа, а простой набор различных утилит для приложений WSGI и стало одним из самых усовершенствованных модулей утилиты WSGI. Это включает мощный отладчик, полнофункциональный запрос и объекты ответа, утилиты HTTP для обработки тегов объекта, заголовков управления кэшем, дат HTTP, обработки cookie, загрузок файла, мощной системы маршрутизации URL и набора сообщества внесли дополнительные модули. Вынимает скучную часть из Ваших рук.

37
ответ дан 27 November 2019 в 23:20
поделиться

Вы могли также проверить cherrypy. Фокус cherrypy находится в том, чтобы быть платформой, которая позволяет Вам записать Python. Cherrypy имеет свой собственный довольно хороший веб-сервер, но это wsgi-совместимо, таким образом, можно запустить cherrypy приложения в апаче через mod_wsgi. Вот привет мир в cherrypy:

import cherrypy

class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True

cherrypy.quickstart(HelloWorld())
9
ответ дан 27 November 2019 в 23:20
поделиться

Если это имеет значение я записал свой веб-сайт в mod_python без любой прошедшей платформы как Django. У меня действительно не было причины жаловаться. (Хорошо, возможно, немного, mod_python является довольно изворотливым несколькими способами, но не в случаях общего использования), Одна вещь наверняка, это определенно позволит Вам записать Python;-)

3
ответ дан 27 November 2019 в 23:20
поделиться

Я записал несколько маленьких веб-приложений с помощью ультрасовременного Python и PSP - эквивалент ультрасовременного Python php.

В одном случае, я записал веб-страницу, которая генерирует информацию о версии путем осмотра нашего репозитория исходного кода. Я переписал его в PHP и был удивлен обнаружить, что версия PSP была приблизительно на 20% быстрее, а также быть приблизительно вдвое меньше строк кода.

Так, для небольших проблем, по крайней мере, psp работал хорошо на меня.

1
ответ дан 27 November 2019 в 23:20
поделиться

+1 ко всем ответам с WSGI.

Eric Florenzo записал большое сообщение в блоге в последнее время, необходимо читать: Запись, Сверкающая Быстро, Бесконечно Масштабируемый, Pure-WSGI Utilities . Это даст Вам лучшее представление о чистом WSGI вне Привет Мира. Также обратите внимание на комментарии, особенно первый комментарий Kevin Dangoor, где он рекомендует, по крайней мере, добавить WebOb к Вашему комплекту инструментальных средств.

8
ответ дан 27 November 2019 в 23:20
поделиться

Я думаю, что это зависит от определения того, что платформа и что это должно сделать для Вас.

, Как указано, очень минимальная "платформа" была бы WSGI, поскольку это только определяет один маленький интерфейс для взаимодействия через интерфейс с веб-сервером. Но это - мощный подход из-за промежуточного программного обеспечения, которое можно поместить между приложением и сервером.

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

, Если Вы идете далее, Вы могли бы приехать в Опоры или Turbogears или Django, после этого возможно, Zope, но это становится больше и возможно боль, а также Вы всегда вложились в мнения о той платформе.

, Что я недавно использую, все больше (прибывающий из Zope/Plone) repoze.bfg. Это является очень маленьким, не идет со связанным ORM (таким образом, можно использовать SQLAlchemy, Storm или просто перейти к объектной базе данных как ZODB). То, что это делает, в основном обрабатывает, как Вы приезжаете от URL до представления, которое является функцией. Это поддерживает оба Отображения URL (а-ля Маршруты) или объектный обход, который, по моему скромному мнению, очень мощен при некоторых обстоятельствах особенно, если Вы имеете не так строгое отображение. Хорошая вещь состоит в том, что это непосредственно идет с основанной на ACL концепцией безопасности, которая может использовать, если Вы хотите, к которому, по моему скромному мнению, очень практично, чтобы иметь. Тем путем Вам не нужны декораторы, которые, кажется, используются главным образом для таких вещей.

И конечно это основано на WSGI. Также ищите репозиторий подрывной деятельности отдыха для довольно большого количества промежуточного программного обеспечения и Вставка , материал также очень полезен для связанных задач WSGI.

1
ответ дан 27 November 2019 в 23:20
поделиться

Что случилось с Django? Это не вынуждает Вас использовать, это - ORM, и контроллеры являются просто функциями Python вместо подобных Направляющим методов класса. Кроме того, маршрутизация URL сделана с регулярными выражениями вместо другого изобретенного платформой синтаксиса. Если django походит на слишком много для Вас так или иначе, я рекомендую смотреть на Werkzeug

0
ответ дан 27 November 2019 в 23:20
поделиться

Я довольно люблю Google AppEngine. Я использую ORM и систему шаблонной обработки, но иначе следую за дизайном с рисунком REST и просто реализую методы Python для соответствующих HTTP. Это делает необработанное взаимодействие HTTP центральным, и дополнительно дает Вам другие вещи использовать. Плюс больше никакого конфигурирования и управления Вашей средой развертывания!

0
ответ дан 27 November 2019 в 23:20
поделиться
Другие вопросы по тегам:

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