Использование python для разработки веб-приложения - PullRequest
17 голосов
/ 22 мая 2009

Я работал над Python, но это было все для автономных приложений. Мне любопытно узнать, поддерживает ли какой-либо ответвление python веб-разработку?

Кто-нибудь также может предложить хороший учебник или веб-сайт, на котором я смогу ознакомиться с некоторыми основами веб-разработки с использованием python?

Ответы [ 9 ]

21 голосов
/ 22 мая 2009

Теперь, когда все сказали: Django , я могу добавить свои два цента: я бы сказал, что вы можете узнать больше, посмотрев сначала на различные компоненты, прежде чем использовать Django. Для веб-разработки на Python часто требуется 3 компонента:

  1. То, что заботится из HTTP-материала (например, CherryPy )

  2. Язык шаблонов создать свои веб-страницы. Mako очень питоничен и работает с Черрпи.

  3. Если вы получаете данные от база данных, ORM пригодится. SQLAlchemy будет пример .

Все ссылки выше имеют хорошие уроки. Для многих реальных сценариев использования Django будет лучшим решением, чем такой стек, поскольку он бесшовно интегрирует эту функциональность (и даже больше). И если вам нужна CMS, Django - ваш лучший выбор, кроме Zope. Тем не менее, чтобы лучше понять, что происходит, стек слабосвязанных программ может быть лучше. Джанго скрывает много деталей.

4 голосов
/ 22 мая 2009

Отредактировано 3 года спустя : не используйте mod_python, используйте mod_wsgi. Flask и Werkzeug тоже хорошие рамки. Нужно знать, что происходит, полезно, но это не обязательно. Это было бы глупо.

Не ищите Джанго, пока не поймете, что Джанго делает от вашего имени. для тебя. Напишите несколько основных приложений, используя mod_python и его объект запроса. Я только начал изучать Python для веб-разработки с использованием mod_python, и это было здорово.

mod_python также использует диспетчер в site-packages / mod_python / publisher.py. Попросите гандеров узнать, как запросы можно обрабатывать простым способом.

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

<Directory /path/to/python/files>
     AddHandler mod_python .py
     PythonHandler mod_python.publisher
     PythonDebug On
</Directory>

А тебя нет!

используйте (как глупо простой пример):

def foo(req):
    req.write("Hello World")

in /path/to/python/files/bar.py при условии, что /path/to является корнем вашего сайта.

И тогда вы можете сделать

http://www.mysite.com/python/files/bar/foo

чтобы увидеть "Hello World". Кроме того, сбило меня с толку - диспетчер использует метод lame для определения типа содержимого, поэтому для принудительного использования HTML:

req.content_type = 'text/html'

Удачи

После того, как вы поймете, как Python взаимодействует с mod_python и Apache, используйте фреймворк, который сделает все за вас. Хотя до вас, только моя рекомендация

3 голосов
/ 22 мая 2009

Если вы действительно не хотите углубляться в рамки - и вам следует, я от всей души рекомендую Django или Pylons - еще нужно идти по пути CGI. Это совершенно устаревшая технология, не говоря уже о медленной и неэффективной.

Там - это стандартный способ создания веб-приложений Python, и он называется WSGI . Если вы хотите создать собственное веб-приложение с нуля, это абсолютно верный путь.

Тем не менее, если вы только начинаете, вам действительно следует использовать одну из фреймворков.

2 голосов
/ 22 мая 2009

Python Wiki: веб-фреймворки для Python

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

1 голос
/ 26 мая 2009

Есть несколько вариантов для веб-разработки. Исходя из моего опыта, ваш выбор снова будет зависеть от вашей заявки. Я использовал django и web.py в работе, и я собираюсь развернуть приложение на основе пилонов .

Django скрывает множество вариантов (поставляется с ORM и шаблонизатором). Документация обширна и хорошо написана. Для django доступно много приложений многократного использования, но вы, вероятно, потратите немного времени на их интеграцию. Одна вещь , упомянутая в djangocon 08 , заключалась в том, что в django есть классные вещи, которые не могут быть легко доступ к проектам, не относящимся к джанго.

web.py поразил меня своей грубой простотой. Прежде чем я знал это, я написал небольшое приложение ( 78 строк квази-вики ) в нем.

пилоны ощущается как в середине обоих. Я могу использовать sqlalchemy и jinja , в целом приятный опыт для начала.

0 голосов
/ 22 мая 2009

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

Прохождение их учебного пособия научило меня много о выдающемся шаблоне проектирования Model-View-Controler и о том, как его можно использовать в контексте веб-разработки. Я нашел отличный способ начать писать приложение, которое работало и училось, улучшая его.

0 голосов
/ 22 мая 2009

Существует довольно много веб-фреймворков для python, но я использовал только один Django , и мне действительно это нравится.

Если у вас есть несколько часов, изучите учебник , обещаю, вам понравится :)

0 голосов
/ 22 мая 2009

Python можно использовать для веб-разработки, но в нем нет специального языкового расширения или чего-либо такого, что бы обрабатывало все генерации HTML или работало как PHP.

Он в значительной степени проходит через своего рода интерпретатор на веб-сервере (CGI, mod_python и т. Д.).

Я бы порекомендовал изучить Основы Python для веб-приложений или как написать Python CGI-скрипты .

0 голосов
/ 22 мая 2009

Поиск Джанго.

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