Подтвердить что ты не робот

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

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

После прочтения многих вещей, здесь и в других местах, я настроен на то, чтобы сделать Python тем, кого я изучаю сейчас, над С# или 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, они нашли это место и в нужный момент!

4b9b3361

Ответ 1

Вы должны посмотреть онлайн-документацию 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

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

Ответ 2

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

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

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

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

Ответ 3

У меня были положительные впечатления от Django.

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

Ответ 4

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

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

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

Ответ 5

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

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

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

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

Ответ 6

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

Ответ 7

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

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

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

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