LINUX.ORG.RU

flask, peewee и MVC: где контроллеры??? Запутался в проектировании архитектуры.


0

1

Здравствуйте!

Успешно пилю сайт/проект на flask+peewee. Естественно, всё по мануалам и примерам. В итоге имею колоссальный views.py, в котором каждый «вид» (url) набит простынями обработчиков запроса. Мне кажется, это не нормально, и я что-то делаю не так. Хочется вынести обработку в отдельные объекты, функции и т.п.
Например, у меня есть доступ к одной и той же модели от разных ролей пользователей, и в зависимости от роли, разные свойства модели могут меняться разными пользователями. Пока у меня простыня if-else.

Где почитать про это, посмотреть на правильные реализации?

★★★★★

Где почитать про это, посмотреть на правильные реализации?

google://oop
google://smalltalk
google://fat model thin controller

omich
()
Ответ на: комментарий от holuiitipun

Чем ужасен его API? Он быстр и прост. Косяки быстро исправляются. Я, как вылезший из криокамеры, вообще свой ORM сначала хотел пилить.

Shadow ★★★★★
() автор топика
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от Shadow

Посоветовали обратиться в bSimple.Люди советовали правильные, но все же. Кто что про них знает?

Viktory511
()
Ответ на: комментарий от Shadow

Чем ужасен его API?

В нём нужно руками приписывать джойны, подключение к базе шарится неявным образом, непродуманный dsl для where.

И разработчики напихали всё в один огромный файл.

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

В итоге имею колоссальный views.py, в котором каждый «вид» (url) набит простынями обработчиков запроса.

И разработчики напихали всё в один огромный файл.

По-моему, там царит полная гармония, ничего менять не надо.

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

У меня в принципе пока ещё join-ы только через ForeignKey работают, и пока не вижу, как они иначе будут появляться. С подключением там есть доки и юзкейсы.

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

А в чём сакральный смысл использования peewee?

Мне понравилось что он умеет сам (точнее, у него есть такой скрипт) генерировать модель для существующей БД.

i1atf
()
Ответ на: комментарий от holuiitipun

Алхимия тоже так умеет =)

Ну и легковесность конечно же играет большую роль. Тащить в своё приложение ещё и алхимию слишком.

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

Ну и легковесность конечно же играет большую роль.

Ну да, алхимия немного жирная, хотя 3мб не так уж много.

holuiitipun
()
Ответ на: комментарий от i1atf

Мне понравилось что он умеет сам (точнее, у него есть такой скрипт) генерировать модель для существующей БД.

А что другие не умеют? И эти люди ругают пых, где crud есть в любом мало-мальски рабочем фреймворке.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

И эти люди ругают пых, где crud есть в любом мало-мальски рабочем фреймворке.

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

TDrive ★★★★★
()

Во-первых, blueprints. Можно делать вложенные модули. Например, app.users.management.views и app.users.registration.views, которые используют модель пользователя из app.users.models.

Во-вторых, class-based views. Очень-очень удобные штуки. Особенно MethodView.

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

Особенно MethodView.

Спасибо огромное!

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