LINUX.ORG.RU

Django — пациент скорее..?

 ,


0

1

После более чем года полного перерыва, и возможно, более чем двух лет последнего активного использования, вернулся к Django. Просто потребовалось по-быстрому сделать прототип небольшого сайта. Сначала все шло нормально, чувствовал себя немного неуютно, казалось все мои знания уже не актуальны, но далеко не ходил, просто сел и начал писать. После полутора дня активной разработки (когда модельки были описаны, фикстуры залиты) начал присматриваться чего бы мне можно было из готовых приложений использовать, чтоб минимально руки пачкать. И что же я вижу? А ничего, как будто и не уходил никуда. Да, существующие вещи вроде развиваются, но как-будто нового ничего не появляется. После nodejs это прямо вакуум какой-то. Ну ок, может работает, зачем трогать. Типа там уже все и так есть, ничего не придумаешь. Но елки, взять хотяб ту же задачу зависимых селектов. Когда есть джве модели, и опции второго селекта зависят от выбора в первом. Окей, я знаю про smart_selects, но если я хочу, например, второе поле сделать m2m а не fk, а если я хочу сделать его чекбоксом или радиокнопкой?? Вообщем, закатав рукава полез снова во все эти дебри, с допиливанием своих виджетов, полей. В итоге пока удалось использовать только copressor (полагаю он был и ранее, ну идейные вдохновители уж точно были) и cripsy_forms. Наверное, это уже диагноз и время для ложиться на рельсу? Что скажет All? Да и вообще, были ли полимеры?

★★★

Последнее исправление: trashymichael (всего исправлений: 1)

Ответ на: комментарий от anonymous

«моя потребность» это лишь один случай из. просто складывается впечатление что все забили, вот интересуюсь, может я просто не там ищу

trashymichael ★★★
() автор топика

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

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

ну а зачем тебе править что-то? разве pip не фиксирует дерево зависимостей? фиксирует все на отлично.

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

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

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

trashymichael ★★★
() автор топика

Виджеты не в админке не нужны. Покажи ОРМ для нодыжс, который умеет что ты просишь.

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

Я же не говорю что Nodejs это умеет. Ее я вообще использую лишь в качестве REST бекенда для RIA.

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

Ну так что ты предлагаешь, формы руками писать все эти, все запросы разбирать? Может проще тогда на PHP пересесть?

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

если мне нужен виджет, я беру похожий, делаю копипаст и лопачу его код

вот-вот, такая же фигня. И насчет хака думаю, только время на все это надо.

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

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

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

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

trashymichael ★★★
() автор топика

Откровенный толлинг (просто мне скучно)

ахах)) Неудивительно, что после js смерть питона сверхочевидна.

прямо вакуум какой-то

вот так-то мне и видится все это со стороны, точнее и не скажешь.

special-k ★★★★
()
Ответ на: Откровенный толлинг (просто мне скучно) от special-k

С питоном все нормально, первые сутки я бл просто окрылен был, пока не случилось. Теперь выходит мне около 6 классов надо продублировать тупо чтоб этот атрибут вынести наружу.

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

Используй руби) Там расширение класса будет элементарной задачей, да и в целом все куда более гибкое и функциональное из коробки.

special-k ★★★★
()
Последнее исправление: special-k (всего исправлений: 2)
Ответ на: комментарий от special-k

посмотрим, давно планировал, время, все во время упирается

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

Тебе же надо что-то типа этого http://activeadmin.info/
http://rails-admin-tb.herokuapp.com/
https://www.ruby-toolbox.com/categories/rails_admin_interfaces
на сколько я понимаю..

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

Это раковая идея. Я не знаю ни одного фреймворка который нагенерит тебе разметку формы которая будет нормально выглядеть и валидироваться как надо на клиенте без css/js. Если тебе все равно писать css/js не обломайся набрать 100байт html формы.

Запросы разбирать не надо, не использовать на клиенте виджеты != не использовать формы для валидации. Олсо добавить чекбоксам атрибут можно из коробки я практически уверен, но чото слишком поздно чтобы проверять.

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

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

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

у атрибут можно, любой, но чтоб это был из модели — сложновато, там итератор который только (id, __str__) значение выбирает, так что с него надо начинать, тоесть и поля и виджеты и эти утилитарные классы

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

Ты лучше скажи что тебя останавливает нагенерировать форму за 5 минут, вместо того чтобы идти туда куда не надо идти :)

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

ну такая форма будет не одна, и проблемное в ней только это поле, логичнее сделать мультивиджет или что угодно, чем «нагенеривать» формы. я уж тогда могу на чистом жс сделать эти формы, «нагенерив» их например backbone-relational + backbone-froms, но тогда зачем мне django вообще?

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

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

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

+ модели еще могут меняться, мне удобней манипулировать этим из кода чем перелопачивать верстку каждый раз, а выводит форму сразу под бустрапчик crispy-forms

trashymichael ★★★
() автор топика
Последнее исправление: trashymichael (всего исправлений: 2)

Полимеры были, есть и будут! Django is massive!!!

KernelPanic
()
Ответ на: комментарий от special-k

Ты задрал уже.

Используй руби) Там расширение класса будет элементарной задачей, да и в целом все куда более гибкое и функциональное из коробки.

Уже сам стал от отождествлять руби и ROR?

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

Эй, с чего я тебя-то задрал, причем тут ты вообще.. я накидал ссылок человеку, карму себе улучшаю (вдруг они ему помогут).

Уже сам стал от отождествлять руби и ROR?

А что такого?

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

Вообще в питоне тоже есть возможности манки патчинга и прочее. Меня просто взбесило это положение вещей. Джва года назад эти проблемы мне казались очевидными. Да, CBV это большой плюс. Но, увы и ах. Если бы можно было так просто взять и разорвать эти компоненты, заменить формы, например. Но ведь все связанно, в лучшем случае надо перепиливать целый слой. Короче, словив не иллюзорный разрыв жеппы я просто забил хрен, я не смог продолжать эту вакханалию. Не в пример остальным читателям, не в пример новичкам, но я согрешил лолка вчера ночью, взял и начал все перепиливать на Flask, вспомнив что есть некий Flask-Admin. Посмотрим как пойдет, но пока недостатков для решения моей задачи нет. Более того, там НОРМАЛЬНО (если вы понимаете о чем я, тоесть пробовали собственными руками) поддерживается mongoengine. Ну и про WTForms я уже наслышан.

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

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

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

Если бы можно было так просто взять и разорвать эти компоненты, заменить формы, например.

Ну возьми же pyramid. Там ты можешь всё что угодно прикрутить.

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

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

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

Странно, ты вдруг перекинулся на синатроподобный фреймворк, почему бы тогда не взять саму синатру) или вот еще один «sinatra inspired web development framework» для ноды - https://github.com/visionmedia/express

Но, конечно, по суммарным характеристикам количества и качества готовых библиотек rails далеко вне конкуренции.

пс
и еще формочки для рельс https://github.com/plataformatec/simple_form
https://github.com/nathanvda/cocoon
https://www.ruby-toolbox.com/categories/rails_form_builders

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

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

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

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

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

проще говоря, размер джанги компенсировало то что я с ним знаком, размер же рельс это не компенсирует.

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

да там, блин, все просто. Это ж руби, в Gemfile добавил нужный плагин, >bundle install и все дела. Особенно, учитывая твое стремление использовать как можно больше готового - все вообще элементарно будет. http://activeadmin.info/documentation.html Тут уже не сколько rails, сколько activeadmin.

special-k ★★★★
()

Сложилось такое ощущение что core разработчики Django просто хотят держать проект в своих руках и неохотно принимают новых участников, чтобы войти в core team кружатся вокруг неё по 5 лет, а пока ты не в ней, довольно трудно протолкнуть какие то изменения. Для примера предлагают создать отдельный проект и посмотреть как его примет сообщество (как пример south). может это и к лучшему, стабильность и всё такое. Из 10 моих патчей приняли только 3 а остальные так и висят, просьбы ревью в IRC игнорируются. Им нужно больше людей хотябы для ревью патчей, те 25 человек явно не успевают.

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