LINUX.ORG.RU

Django vs. Web2py продолжение

 , ,


1

3

увидев разговор Впечатления: Django vs. Web2py Впечатления: Django vs. Web2py

и поскольку в той ветке возможности ответь не было «пользователей, score>=50»

решил написать свои впечатления тут.

первое знакомство попалась статья можно поискать с название killer web application. был слегка в недоумении подходом к web dev в web2py.

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

после django конечно тяжко переходить на новые способы выборки из бд. В смысле с начало тяжело, а потом понимаешь, что в web2py человечней, что ли запрос получается. В дальнейшем уже не заглядывая в доки думаешь а примерно как то вот так будет и оно работает. шаблоны проектирования в web2pe оч удобная вещь. если постоянно пишешь одно и тоже то достаточно создать шаблон в котором уже все необходимое будет включено. нужный вид вьюхи, jquery и тд. в django тоже появились шаблоны для приложений.

хочу подчеркнуть, что это сугубо мое мнение, как говорил Кочергин «Мнение мое не обязательно правильное»

редактирование контроллеров, моделей и вообще любых необходимых файлов через web интерфейс в web2py, выглядит очень вкусно. нет заморочек сидеть редактировать в консоли. можно быстро открыть браузер и подправить и глянуть как работает. Мы же пишем веб приложение почему бы не писать его в браузере. возможно в Django тоже уже есть такая батарейка. порадовала фича в одной из последних версий web2py в случае ошибки курсор в редакторе в веб интерфейсе сразу ставится на предполагаемое место ошибки, после попытки обратиться к нему через браузер инсталляция web2py - скопировал папку, запустил, все можешь кодить. или в случае инсталляция приложения нажал кнопку инстал указал путь к файлу приложения все. В django по сравнению с web2py на мой взгляд муторно инсталлировать. Но опять же это делает нашу работу, нам за это платят о еще один момент хочу затронуть в случае если необходимо показать работающее приложение в web2py ( по возможности без исходных кодов .py) . нажимаем кнопки в административном интерфейсе . компилировать -> архивировать скомпилированное, получаем рабочее приложение состоящее из файлов .pyc (без исходных кодов) web2py не имеет зависимостей все находится в одной папке. про базы данных в web2py можно сразу работать с разными бд . например роли в одной бд, данные в другой. Конечно в django тоже это можно реализовать.

несколько доменов - сразу можно указав в файле routes.py поддерживать несколько доменов.

как то кто то из знакомых задался вопросом обертки на python для js для стандартных часто повторяющихся штук - в web2py частично это есть.

CRUD вообще вещь - надо прям сейчас накидать как будет выглядеть веб приложение - выборка добавление записей в бд, удаление. аплоад картинок в бд и тд. Написал form = crud.create(db.sip_conf_db) в контроллере - готовый элемент с просмотром элементов бд, удалением, добавлением тд. В django такие батарейки наверняка есть.

контроль доступа к функциями контроллеров не обнаружил существенной разницы

по поводу хрона или запуска задач по расписанию или асинхронных задач - в web2py есть такое и даже несколько cron, Homemade task queues, Scheduler . ( сразу хочу пояснить, что в последних версиях Massimo не рекомендует использовать cron поскольку задача выполняемая им выполняется не асинхронно и точно ни когда не узнаешь когда на самом деле выполнится задача, (проверил это действительно так) разработчик рекомендует использовать другие способы менджмента асинхронных задач)

по хостингу pythonanywhere.com один из возможных ресурсов для хостинга django и web2py приложений, пару кликов и через веб интерфейс пиши новый сайт или инсталлируй готовый.

Для тестирования приложения в web2py уже есть функционал. ( все так же в django есть решения для тестирования )

переход к новой версии web2py 1 клик в интерфейсе управления. ( про django промолчу )

Конечно, есть и спорные моменты в архитектуре web2py. Например, согласно PEP класс, отвечающий за html тег <div> должен назваться Div но Maссимо решил что лучшим названием будет DIV . ( и тд для остальных тегов А, FORM, URL) но можно и напрямую обратится к сss используя _style.

DAL в веб2зн полезная штука можно взаимодействовать с бд через ДАЛ без самого web2py. например в одном из приложений реализовал взаимодействие с бд через Dal а администрирование через админку web2py, потом это выросло в полноценное приложение.

про безопасность уже упоминалось в Впечатления: Django vs. Web2py

в версии 2.3.2 web2py порадовало предложение попробовать мобильную версию твоего приложения - Running on Apache/2.2.16 (Debian) Try the mobile interface еще порадовало 1 кнопка Deploy to OpenShift рядом с Deploy on GAE (сразу скажу, не пробовал)

в заключении: web2py, django очень похожи многое делается, смотря друг на друга. Хорошо, что эти два продукта есть.

P/S вот все что пришло в голову.

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

trashymichael ★★★ ()
Ответ на: комментарий от trashymichael

По-хорошему бы стоило задуматься о нативной поддержке orientdb. А монго... ну у меня она не плохо и с джангой работает через mongoengine.

k0valenk0_igor ★★★ ()

Мы же пишем веб приложение почему бы не писать его в браузере.

Дальше не читал

boombick ★★★★★ ()
Ответ на: комментарий от k0valenk0_igor

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

trashymichael ★★★ ()

Спасибо за продолжение!

Как итог, отстановился на Web2Py, хоть и на ЛОРе (коий, как мы знаем авторитет всему и всегда) о нём короме тебя никто особо и не слышал.

Den0k ()
Ответ на: комментарий от baverman

А почему бы и нет? :)

А вообще - в смысле? Я поблагодарил топикстартера за дельное и детальное продолжение моей темы в Talks. Кстати, эту тему я нашёл с помошью гугла когда интересовался русскоязычным сообществом Web2Py.

Den0k ()

редактирование контроллеров, моделей и вообще любых необходимых файлов через web интерфейс

синтаксис подсвечивается? отступы автоматом ставятся как в емаксе?

Komintern ★★★★★ ()
Ответ на: комментарий от Den0k

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

Поискав в рунете что либо про web2py - нашел только сообщения что есть такой Фреймворк и только.
Все писали что Django круче всех и говорили мне не стоит тратить время на что то другое - типо Django наше все.
Но решил пойти против общего мнения и был поражен как все просто и удобно в web2py.

Я тоже остановился на web2py :)

Теперь пытаюсь писать веб морду для визуализации параллельно изучая питон всерьез (для билинга мне хватило опыта программирования на других языках и справочников по python и django)

Так как русскоязычных ресурсов я не нашел, слепил блог http://devpy.ru где мы с товарищем в свободное время выкладываем свои заметки про web2py. К стати, слепив пару сайтиков на web2py, появилось сильное желание написать движок для блога - настолько мне понравился этот Фреймворк...

p.s.
Заткнулся в вопросе отображение терминала в браузере (библиотека tyte https://github.com/selectel/pyte), если кто поможет - буду очень признателен...

alex2013 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.