Django, Turbo Gears, Web2Py, что лучше для чего?

У меня есть проект, который заставляет задуматься о программировании.

После прочтения многих вещей, здесь и в других местах, я решил сделать Python тем, кого я изучаю сейчас, над C # или java. Меня больше всего интересовали экскурсии Пола Грэма по языкам программирования и Lisp, хотя Arc находится на экспериментальной стадии, и это не помогло бы мне сделать это веб-приложение прямо сейчас.

Что касается веб-приложения быстро, я проверил Django, Turbo Gears и Py2Web. Несмотря на много времени на чтение, я до сих пор не знаю, что я должен использовать.

1) Django, безусловно, имеет самое приятное присутствие в Интернете и красиво сделанное на месте учебное пособие, они точно знают, как показать свою вещь.

2) Web2Py привлек меня без необходимости установки и утверждение о том, что Django выглядит сложным. Но когда вы копаетесь на своем веб-сайте, вы быстро находите контент, который не обновлялся годами со сломанными внешними ссылками … На этом веб-сайте есть призраки, которые заставляют кого-то, не знакомого с проектом, волноваться, если это может быть плоскость.

3) Turbo Gears … Я думаю, его модульная тоже. Люди, которые писали об этом, любили это … Я не мог найти ничего конкретного, что могло бы сделать его особенным по сравнению с Django.

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

Поскольку, возможно, никакая инфраструктура не является лучшими во всем, я расскажу о некоторых особенностях приложения, которое я хочу построить:

Он будет использовать MySQL, ему потребуется регистрация / вход, и будет загружаться простая математическая операция с данными из входных и SQL-запросов. Я закончил функциональный прототип в Excel, поэтому я точно знаю, что хочу построить, и надеюсь, что это поможет мне преодолеть мою нубость. Я буду маленьким приложением, ничего большим.

И я не хочу видеть HTML при его создании 😉

PS: благодаря людям, бегущим Stackoverflow, нашло это место и в нужный момент!

  • Асинхронные фоновые процессы с web2py
  • Django vs web2py для начинающего разработчика
  • Как я могу дросселировать потоки Python?
  • Интеграция web2py git - localhost & pythonanywhere
  • web2py auto_import vs define_table
  • определение поддомена на основе функции в route.py Web2Py
  • Получать данные из POST ajax-вызова с помощью web2py
  • составной ключ в web2py
  • 7 Solutions collect form web for “Django, Turbo Gears, Web2Py, что лучше для чего?”

    Вы должны посмотреть онлайн-документацию web2py ( http://web2py.com/book ). Он поставляется с контролем доступа на основе ролей (наиболее общим механизмом контроля доступа), и он очень подробный, вы можете предоставить доступ для конкретной операции по конкретным записям. Он поставляется с веб-средой IDE, но вы также можете использовать WingIDE , Eclipse и PyCharm . Он поставляется с вспомогательной системой, которая позволяет создавать HTML без использования HTML. Ниже приведен пример полного приложения, которое требует, чтобы пользователи регистрировали / регистрировали / отправляли сообщения:

    db.define_table('message',Field('body'),Field('author',db.auth_user)) @auth.requires_login() def index(): db.message.author.default=auth.user.id db.message.author.writable=False return dict(form=crud.create(db.message), messages=db(db.message.id>0).select()) 

    Проект web2py очень активен, как вы можете видеть из списка изменений http://code.google.com/p/web2py/source/list

    Если у вас есть вопросы, связанные с web2py, я настоятельно рекомендую вам присоединиться к списку рассылки web2py: http://groups.google.com/group/web2py/topics

    Мы очень активны, и на ваши вопросы будет дан ответ очень быстро.

    Я должен сказать, что это не особо опытный разработчик, скорость, с которой я смог создать с помощью web2py, взорвала мой разум. Во многом благодаря удивительному сообществу и основному значению, которое Массимо делает, доступ к этой структуре.

    Когда я начал, я написал 0 строк кода в Python. Никогда не слышал о web2py

    Я был в этом всерьез около месяца и прогрессировал (по-моему), задавая вопросы, на которые никто не мог ответить (потому что они не имели никакого смысла) кодировать в течение нескольких часов за один раз, не забирая книгу или задать вопрос.

    Я действительно впечатлен.

    У меня был положительный опыт работы с Django.

    • Встроенная аутентификация и простые в использовании расширения для registration
    • Очень хорошая документация
    • Вероятно, напишите свои HTML-шаблоны в основном в base.html , а затем просто используйте наследование шаблонов (Примечание: вам нужно написать хотя бы немного HTML)
    • В отличие от Turbogears, Django больше «из коробки»,
    • У меня нет опыта работы с web2py, но, по моему впечатлению, он пытается сделать немного для «готового»,

    Если вы решите пойти с Django, убедитесь, что вы используете его Generic Views. Они избавят вас от написания большого количества кода, как Python, так и HTML.

    Кроме того, если у вас нет конкретной причины использовать MySQL, я советую вам перейти на PostgreSQL. Django гораздо более ориентирован на PostgreSQL, и в любом случае это намного лучшая база данных.

    Документация онлайн Django великолепна, вот что отличает ее от всех остальных фреймворков. Я также рекомендую книгу « Практические проекты Django » Джеймса Беннета

    • Django: Слышал, что у него лучший административный интерфейс. Но использует его собственный ORM, то есть не использует SQL-Alchemy.

    • Web2py: Не исследовал это.

    • Turbogears2: Использует SQL-Alchemy по умолчанию, использует интерфейс Catwalk для администрирования, но документация не так велика.

    Я выбрал Turbogears2, потому что он использует популярные компоненты, поэтому мне не нужно было ничего узнавать …

    Я использовал как web2py, так и RoR, и в то время как RoR приобрел большую популярность и поддержку за последние несколько лет, web2py проще, чище, менее «волшебным» и все же предлагает больше (полезных) функциональность. Я бы сказал, что у web2py больше возможностей, чем у RoR, но это относительно новая структура и еще не имеет зрелости RoR. (Несмотря на это, я бы выбрал web2py over RoR в любой день …)

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

    Хотя он написан на PHP, а не на Python, вы можете взглянуть на основную новую версию WordPress, которая вышла примерно 2 или 3 месяца назад. В 3.0 они прошли долгий путь от того, чтобы быть средой только для «блогов», и есть много готовых шаблонов для нее. Конечно, если вы хотите настроить шаблон, ну, есть и этот неприятный старый HTML. Я рассматриваю возможность использовать его для моих небольших клиентов, которые не могут иметь дело с администратором выделенного сервера и т. Д., Которые, как правило, поставляются с сайтом Django.

    Обновление: Ах, я пропустил полушуру – я был слишком рано, и это, как правило, заставляет меня говорить глухое настроение. Что касается использования шаблонов с существующих сайтов, я сделал это довольно успешно с несколькими сайтами, как с теми, которые были статическими, так и с теми, которые изначально были созданы с помощью хорошо написанных PHP-скриптов. Я рекомендую внимательно прочитать документы {% extends %} и {% include %} . Оба берут либо строковый литерал, либо переменную. Я использовал более поздний метод, и он может быть весьма полезен для сайта, который имеет сильную иерархию, отличающуюся изменениями стиля по веткам.

    Также стоит оценить порядок поиска шаблонов – его можно использовать для хорошего эффекта, но это может быть озадачивающим, если вы его не забудете. См. Связанные с шаблоном элементы в файле settings.py для этого и других полезных свойств.

    Python - лучший язык программирования в мире.