2010-04-01 4 views
4

Я создаю веб-сайт, который отправляет пользователям сообщения о выпуске фильма или компьютерной игры. Это не слишком сложно - пользователи могут зарегистрироваться, выбрать фильмы/музыку или жанр и сохранить настройки. Когда фильм/музыка отпускается - он отправляет сообщение пользователю. Некоторые другие функции тоже, но это смешок.Что следует использовать - Mako или Django?

Теперь я немного работал с Python, но в основном в области консольных приложений. Для Интернета: что я должен использовать, веб-фреймворк Django или шаблонный движок Mako?

Кажется, я не могу решить между ними. :(

Благодаря

+4

Эти два варианта, которые вы предоставили сами, не имеют большого смысла, поскольку (как вы признаете), это веб-фреймворк с полным стеком, и один из них - просто механизм шаблонов. Они не решают одни и те же проблемы. Что бы вы предпочли использовать для работы, Ford Explorer или 8-цилиндровый двигатель Hemi? –

+8

Вы пытаетесь сравнить яблоки с продуктовыми магазинами. – mikerobi

ответ

2

Джанго. Потому что это берет на себя все биты и куски (отображение URL-адрес, при обработке запроса объекта и т.д.) и скрывает доступ БД от вас. Если вы хотите, вы можете использовать SQLite БД так нет необходимости в MysQL или других «правильных» БД. Если вы использовали только механизм шаблонов, вам нужно было бы самостоятельно позаботиться о HTTP-слое. А также материал базы данных.

4

Задайте себе этот вопрос: что вы получаете из этого проекта? Что вы хотите узнать?

Если вы хотите знать гайки и болты веб-сервера трудным образом: соберите свой o wn web framework, используя Mako и другие полезные строительные блоки по мере необходимости. Как говорит @pulegium, вам нужно будет выбрать способ обработки уровня HTTP и уровня базы данных.

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

Если вы хотите быть более ленивым: используйте Google App Engine. (С молчаливым соглашением следовать правилам BigTable, который сильно отличается от популярных реляционных систем баз данных.) GAE заботится о установке и развертывании вашего веб-приложения, регистрации, управления версиями и других материалах, о которых вам нужно позаботиться при запуске сайт. Вы также можете использовать Django для GAE.

+0

ha, +1 для GAE ... полностью забыл об этом! :) – rytis

0

Я использовал mako в течение некоторого времени, а также попытался справиться с django в Google appengine.

Если вы питон python ... определенно выбирайте Mako. Я считаю, что django разочаровывает, поскольку синтаксис не позволяет мне делать действительно хороший пифонический код. Я собираюсь бросить Мако в проект appengine, пока не стало слишком поздно!