"Ванильный" веб-питон - PullRequest
       7

"Ванильный" веб-питон

2 голосов
/ 08 августа 2010

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

У меня просто возникает сомнение: есть ли способ использовать Python "Vanilla" на бэкэнде?Я имею в виду Vanilla, как PHP, без фреймворка.Как работает шаблонизация таким образом?Я имею в виду, с отступом и всем тем, что он как бы упускает из виду.

В любом случае, я пробую web2py и он мне действительно нравится.

Ответы [ 3 ]

3 голосов
/ 08 августа 2010

Смешивание логики, контента и представления, как наивно поощряется PHP, является мерзостью.Это полная противоположность хорошей практике проектирования, и ее не следует импортировать в другие языки (ее даже не следует использовать в PHP, и, к счастью, мир PHP в целом очень медленно удаляется от него).

Вы должны узнать о Model-View-Controller (MVC) , который, хотя и не является последним словом о хорошем реальном дизайне, формирует важную основу для современных практик веб-разработки и служит общей почвой,или что-то вроде lingua franca , в дискуссиях о макете приложения.

В большинстве случаев вам следует использовать какую-либо форму веб-фреймворка, особенно такую, которая предоставляет шаблоны.web2py не плохой выбор.Другие популярные фреймворки включают Pylons и Django .

Большинство веб-фреймворков Python очень модульные.Вы можете использовать их полностью для всего в вашем приложении, или просто кусочки.Например, вы можете использовать диспетчер URL-адресов Django, но не его модели / ORM, или, может быть, вы используете в нем все, кроме механизма шаблонов, например, Jinja .Это зависит от вас.

Вы даже можете писать традиционные CGI-скрипты (взгляните на CGI-модуль ), при этом все еще используя шаблонизатор по вашему выбору.

Вы должны начать изучать все эти вещи и находить то, что работает лучше для вас.Но единственное, что вы должны , а не сделать, это попытаться трактовать веб-разработку на Python как PHP.

2 голосов
/ 08 августа 2010

без фреймворка, вы используете WSGI.чтобы сделать это, вы пишете функцию application примерно так:

def application(environment, start_response):
    start_response("200 OK", [('Content-Type', 'text/plain')])
    return "hello world"

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

Вы, конечно, отвечаете за обработку своих собственных шаблонов.Ничто об этом не встроено в язык.

2 голосов
/ 08 августа 2010

Нет причин делать это :), но если вы настаиваете, что можете писать поверх WSGI

Я предлагаю вам попробовать микро-фреймворк, такой как web.pyесли тебе нравится ванильный стиль

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...