2010-09-05 3 views
20

У меня есть проект в виду, что стоит в конечном итоге окунуться в программирование.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, нашли это место как раз в нужный момент тоже!

+1

Думаю, вы посмотрели не тот сайт для web2py. Это http://web2py.com. Мы не знаем о каких-либо сломанных ссылках, и мы выпускаем новую версию каждые две недели в среднем. Когда выпущена новая версия, весь веб-сайт обновляется. – mdipierro

+1

Я думаю, что я понял, что случилось: одно из бесплатных ссылок на скачивание приложений на новом сайте привело меня к старому сайту, и я не понимаю, и, поскольку его старый сайт, естественно, не обновлен. – Tsais

+0

Ваше руководство - отличное чтение, наслаждающееся каждой страницей ... – Tsais

ответ

19

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

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

+0

Я уже готов был установить django сегодня, но после поиска pdf с функцией сравнения функций с примерами кода я пошел к вашим ссылкам, и я довольно много сделал вывод, что web2py - это самый современный из веб-фреймов , Специально для кого-то нового для программирования, его очень приятно, когда для меня обрабатывается безопасность, и мне всегда нравились полезные дефолты в программном обеспечении. – Tsais

+0

Также найдено несколько хорошо населенных сайтов сообщества, поэтому я достаточно уверен, чтобы пойти с набором функций, который мне больше нравится. Мое понимание того, что важно, в лучшем случае неполно, но на самом деле у вас никогда не будет больше понимания, чтобы основывать решения на ;-) Так что большое спасибо за ваш ответ, я публикую это, поскольку я делаю небольшой перерыв, manual ^^ – Tsais

+0

Не стесняйтесь обращаться к списку рассылки или лично мне по вопросам и советам. – mdipierro

4

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

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

из учебника django, мне показалось, что я могу просто скопировать некоторые шаблоны по умолчанию в свой путь к приложению и сделать это до тех пор, пока фактическое приложение не будет завершено. И тогда я могу получить необъяснимое желание переделать шаблон ...? – Tsais

+0

Вы можете попробовать. Но тогда и HTML не так уж тяжело. – miku

1

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

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

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

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

+0

Я был наполовину шучу о комментарии no-html ... Я могу написать html во сне, всегда был пользователем фотошопа/шаблона для работы. Поэтому я просто взволнован, что похоже, что Django позволяет мне использовать существующие шаблоны по умолчанию, поэтому я могу просто сосредоточиться на написании базы данных и математических функций, если я не могу потрудиться, чтобы играть с внешностью. Кажется, что автоматизированным коллапсирующим полям достаточно макета. – Tsais

+0

благодарим вас за дополнительные советы, его не всегда легко узнать, что читать и понимать в первую очередь ... – Tsais

+0

, если вам нравится Wordpress в мгновенной печати (написано на web2py): http://code.google.com/p/ instant-press/ – mdipierro

2

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

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

Документация по Django в Интернете отличная, это отличает ее от всех остальных фреймворков. Я также рекомендую книгу Practical Django Projects от James Bennett

+0

Почему это происходит с понижением? – Ben

+0

Да, определенно, их общий вид имеет некоторые довольно приятные функции! – Tsais

+0

Не я, я не могу голосовать, пока не получу 15 очков ... может быть, кто-то небрежно? Я думаю, что ваш ответ очень полезен, и я дам вам +, как только смогу ... Я хотел бы спросить вас, почему вам нравится PostgreSQL лучше, чем MySQL. Мне было интересно, хорошо ли теперь использовать MySQL сейчас, когда Ларри владеет этим. Моя основная причина придерживаться MySQL до сих пор заключается в том, что большинство хостинговых компаний установлено, и для этого существует множество инструментов с открытым исходным кодом.Хотя я смотрю на Web2Py, я мог бы использовать его для управления любой поддерживаемой базой данных, которая включает PostgreSQL ... – Tsais

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

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

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

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

+4

Насколько я понял, вам следует исследовать Web2Py, кажется, что у вас нет уродливых ярлыков, которые могут вас укусить позже. Всего несколько разумных дефолтов, и вы получили контроль над всем так, как это: вы можете позволить ему сгенерировать ваш код SQL, показать его или не показать его вам, или вы можете просто написать свой собственный. Все, что он делает, вы можете переопределить. Я думаю, что это не просто новость, она на самом деле продумана с преимуществами и недостатками старых систем в виду, что делает ее прочным техническим достижением. – Tsais

6

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

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

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

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

2

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

Смежные вопросы