Вопрос

Теперь, когда я относительно ознакомился с web2py, я хотел бы попробовать Django.

Каковы основные отличия?

Какой был бы наиболее эффективный способ начать работу с учетом знаний web2py?(Должно быть, полезно иметь некоторые знания о фреймворке приложений python, не так ли?)

Редактировать

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

Это было полезно?

Решение

web2py был очень вдохновлен Django, и если вы знаете один, то легко освоите другой.Мы добавили некоторые функции, которых не нашли в Django, в том числе:миграции баз данных (автоматическое изменение таблиц), уведомления об ошибках, веб-среда IDE, уровень абстракции базы данных, работающий на Google App Engine, механизм управления доступом на основе ролей с подключаемыми модулями входа.

Одно из фундаментальных отличий дизайна заключается в том, что в Django приложения реализованы в виде модулей, и поэтому вам необходимо перезапускать сервер при их редактировании.Вместо этого в web2py Модели / Представления / Контроллеры не являются модулями, они выполняются (не импортируются) фреймворками, и поэтому вам не нужно перезапускать сервер при их изменении.

Другое отличие заключается в том, что Django использует ORM, web2py использует DAL.DAL имеет немного более низкий уровень, чем Django ORM, и это делает его ближе к синтаксису SQL (например, is допускает левые соединения, произвольные агрегаты, вложенные выборки и их комбинации), оставаясь при этом переносимым (мы поддерживаем 10 различных баз данных).DAL также упрощает динамическое метапрограммирование моделей (например, создание моделей во время выполнения на основе спецификаций, хранящихся в файле, таком как XML или CSV-файл).

Django существует дольше, поэтому вы найдете больше людей, владеющих им, и больше развернутых приложений.

Другие советы

Джанго = старый

Web2py = новый

Все, что делает Django, web2py делает лучше.Это потому, что web2py был создан намного позже django и извлек уроки из ошибок Django, хотя и допускает все новые ошибки ;)

Основное отличие, и что удерживает меня в web2py:

  1. У Django потрясающая документация...web2py настолько интуитивно понятен, что ему не нужно так много...ОДНАКО! Я обнаружил, что документация Django по большей части применима к web2py.Если вы потратите день и прочтете книгу django (главы 1-7), вы получите представление о том, насколько это верно.Так что в некотором смысле говорить, что Django лучше документирован, глупо.Также обратите внимание, что любой фреймворк, который распространяется, говорит об объемах документации для него как о хорошем thing...be обеспокоен...документация хорошая, для начала она не нужна = лучше.Существующая документация Web2py более чем удовлетворяет потребностям 90% пользователей.Оставшиеся 10% должны пойти взглянуть на код библиотеки фреймворка (его не так много, как в Django, и не так страшно).Кроме того, если вы дойдете до того, что будете тратить более 30% своего времени на изучение библиотечного кода, пришло время отойти от фреймворков и перейти к коллекциям библиотек (таким как pylons).На данный момент это означает, что вы не делаете ничего, для чего были разработаны веб-фреймворки...

  2. SQLForm в Django - это TextModel.Как только вы создадите форму с помощью TextModel (=SQLForm).Удачи в попытке изменить CSS одного поля ввода!В web2py вы просто выполняете form.element(), в Django такого нет.Вы должны пройти через "widget()", но чтобы перейти к widget, вы должны сначала пройти через тип поля ввода и т.д...

  3. Кроме того, ручная миграция базы данных ... изменить схему?Извините...вам придется либо загрузить и установить отдельное приложение для миграции (South), либо сделать это вручную в вашей консоли DB.

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

Другими словами...с Джанго...надеюсь, тебе нравятся прыжки и обручи.

Если вы действительно хотите сделать скачок вперед от web2py, попробуйте Pylons ... серьезно...

Самым большим недостатком web2py является его возраст и меньшая кодовая база ... хотя это не лишено смысла, учитывая, что Django похож на первый веб-фреймворк python для реализации идей RAILS style RAD и примерно в два раза старше web2py.Web2py все еще находится на этапе раннего внедрения...Django находится на этапе, превышающем критическую массу, и подходит к упадку...я прогнозирую, что web2py должен достичь критической массы со дня на день в ближайшие 2 года.

ЗАКЛЮЧЕНИЕ Потратьте день, прочитайте книгу django (главы 1-7) и книгу Pylons (часть 1), а затем подумайте о том, почему вы изначально используете фреймворк.Для меня это было сделать как можно больше и как можно быстрее, не просматривая документацию в 30% случаев.

Web2py удовлетворяет вышеуказанные потребности для меня.

Я создал небольшое собственное веб-приложение полностью на Django, а затем полностью на web2py.Это единственный способ по-настоящему понять различия и их влияние на работу разработчика.

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

Во всяком случае, они очень близки друг к другу, гораздо больше, чем любой другой веб-фреймворк по сравнению с любым из этих двух.Например, с точки зрения веб-фреймворка на основе Java они могут показаться почти идентичными друг другу.

Это определенно помогает иметь знания о каком-нибудь фреймворке python.

Наиболее эффективным способом начать было бы сравнить различные секторы этих двух, т.е.Модель, Представление, Контроллер, Отправка URL-адресов, Шаблоны, Формы и т.д.

Здесь это одно отличное сравнение нескольких фреймворков.Я уверен, что это поможет.

Я был программистом Django до того, как остановился на web2py.Я обнаружил, что более эффективен с web2py, возможно, из-за разумных значений по умолчанию (неявный импорт, представления по умолчанию и т.д.) И отличной поддержки на Форум.

Коротко и по существу:Web2py - это то, чем должен был быть Django.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top