Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 26, 2012 16:01:30

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Django - чемодан без ручки

Есть у нас один проект, за несколько лет разработки пришли к тому, что шаблоны Джанги - это конкретный ахтунг, ORM - это ахтунг в квадрате, роутинг приемлем, но это все равно с запахом какашек, формы не соответсвуют не то что MVC, а даже заявленному MVT. Слава богу хоть запилили елифы в шаблонах и секьюред-куки, кастомные хеши паролей и т.д.
Фишка в том, что отказаться от Джанги полностью и перейти на что-то кошерное, имея на руках рабочий проект выходит чересчур накладно.
Используем jinja2, aldjemy, wtforms и кучу самописных приблуд, для того чтобы наконец то заставить джангу нормально по человечьи работать.
Я не понимаю, мы такие тупые или Джанга не для средних умов и ей надо уметь пользоваться?
Собственно вопрос то в следующем, мне интересно, как кто из местных Джанго-гуру как ее под себя допиливает, делимся советами, давайте обмениваться решениями.
Например, интересно, есть ли у кого-нибудь опыт впиливания peewee?
Или, например, было бы прикольно заюзать deforms.



Офлайн

#2 Окт. 26, 2012 17:29:17

newca9h
Зарегистрирован: 2012-05-28
Сообщения: 46
Репутация: +  3  -
Профиль   Отправить e-mail  

Django - чемодан без ручки

Здравствуйте! Скажу банальную глупость, но у меня к вам встречный вопрос. А может все таки отказаться от Django, раз уж вы уже используете jinja2, wtforms и aldjemy? Используйте Flask и SQLAlchemy. Уже нашлись умы, написавшие админку, аля Django Admin. По вашему сообщению вообще не понятно, что вас конкретно не устраивает в тех же шаблонах или в ORM.

Из моего опыта использования Django, я всегда вначале плювался на что-то(потому что не так работало или вовсе не работало), но потом, по мере приобретения знаний, понимал, где мой косяк и все работало на ура. НО! Мне еще не довелось делать что-то бооольшое или высоконагруженное, поэтому мои воззрения все таки субъективны и ограничены опытом использования, но пока меня устраивает практически всё в Django, а что не устраивает(например, родной дизайн админки) довольно легко исправляется или подменяется.

Офлайн

#3 Окт. 26, 2012 22:57:58

buddha
От:
Зарегистрирован: 2012-03-02
Сообщения: 422
Репутация: +  15  -
Профиль   Отправить e-mail  

Django - чемодан без ручки

Читал в коментах на хабре… Кто то недовольный сменил Django на Tornado. А еще кто-то вообще без фреймворка работает, на стандартных библиотеках…

Офлайн

#4 Окт. 27, 2012 13:16:28

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

Django - чемодан без ручки

Django хороша целиком, если поменять какой-нить компонент, то теряется основное преемущество джанги - сторонние аппы.

А так выбор есть:
Flask/Pyramid + Peewee/SQLAlchemy + Jinja2/Mako/Chameleon + WTForms/Deform

Отредактировано bismigalis (Окт. 27, 2012 13:17:03)

Офлайн

#5 Окт. 27, 2012 22:05:39

cpu
От:
Зарегистрирован: 2011-12-29
Сообщения: 58
Репутация: +  1  -
Профиль   Отправить e-mail  

Django - чемодан без ручки

buddha
Читал в коментах на хабре… Кто то недовольный сменил Django на Tornado. А еще кто-то вообще без фреймворка работает, на стандартных библиотеках…
А респонзы почтой шлют, через главпочтампт. И фаервол лихим пацанам с хабра и не надо - ведь у них есть егерь с сайгой. Не знаю, как вы, но я этого не понимаю.



Офлайн

#6 Окт. 28, 2012 06:12:09

buddha
От:
Зарегистрирован: 2012-03-02
Сообщения: 422
Репутация: +  15  -
Профиль   Отправить e-mail  

Django - чемодан без ручки

to cpu
Та я писал к тому, что потребности у всех разные, что нужно подыскивать инструменты подходящие для своей личной потребности, что у всего есть свои недостатки/достоинства…

Отредактировано buddha (Окт. 28, 2012 06:12:36)

Офлайн

#7 Окт. 29, 2012 11:38:39

run
Зарегистрирован: 2012-10-29
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Django - чемодан без ручки

По поводу чемодана пока еще не определился, но вот проблема возникла на пустом месте, и думаю может не браться за этот чемодан пока не поздно.
Хотел сайт сделать где много текстовых данных, ну и блог для представления текстовых данных в принципе неплохо должен пойти. Взял django + cms mezzanine.jupo.org
На небольшом объеме все красиво. А вот когда подгрузил 40 тыс страниц (а это не предел), то сайт стал просто тормозить по минуте. Связано как мне кажеться с тем что при отображении информации в блоге запрашиваются в базе все посты и потом фильтруются и бьются на страницы каким то методом джанговским методом paginate. В итоге хотел совета. Где хранить тексты в базе или в файлах ? И может кто присоветует cms или движок блога на джанге ? Или не браться за написание проекта где происходит манипуляции и поиск данных с использованием джанги ?
ЗЫ Новичок, сильно не пиннайте

Офлайн

#8 Окт. 29, 2012 12:36:21

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Django - чемодан без ручки

Учитывая недовольство камрада Кошелева, вношу конкретику. И так:

class SomeForm(forms.ModelForm):
    class Meta:
        widgets = {
                   'income_date' : forms.TextInput(attrs={'class':'calendar'}),
                   'income_order_date' : forms.TextInput(attrs={'class':'calendar'}),
                   'outgoing_date' : forms.TextInput(attrs={'class':'calendar'}),
                   'outgoing_order_date' : forms.TextInput(attrs={'class':'calendar'}),
                       }
Данный подход вызывает по меньшей мере удивление, чего мы ждем от класса формы?
1. Валидацию данных
2. Привязку данных к модели
3. Отрисовку формы в шаблоне
Нужно ли программисту, который пишет этот класс, знать, какой именно параметр “class” будет у того или иного инпута или подобные решения должны приниматься на уровне разметки HTML?
Как нам это предлагают реализовать в wtforms
<form method="POST" action="/login">
    <div>{{ form.username.label }}: {{ form.username(class="css_class") }}</div>
    <div>{{ form.password.label }}: {{ form.password() }}</div>
</form>
и все бы ничего, но в шаблонизаторе Джанги нельзя применить функцию, вернее можно, если функция без параметров. Это второе “не понимаю” с которым мы сталкиваемся. На каждый чих, который чуть-чуть выходит за рамки “самого обычного кода” Джанга нам предлагает создать Шаблонный Тег. Если в шаблоне нужно от A отнять B - будьте добры выдумывать велосипед. Обратиться к словарю по ключу - второй велосипед, объявить переменную в шаблогне - третий велосипед.
Пусть кто-то говорит, что всё это якобы не нужно. А вот нужно, иначе не было бы jinja2, wtforms, mako, chameleon.

to be continued



Офлайн

#9 Окт. 29, 2012 13:01:03

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Django - чемодан без ручки

ИМХО, джанга хороша на небольших проектах. Как только хочется чего-нибудь странного, она сразу же начинает лажать.



Офлайн

#10 Окт. 29, 2012 14:43:23

Saturn
От:
Зарегистрирован: 2012-03-22
Сообщения: 164
Репутация: +  0  -
Профиль   Отправить e-mail  

Django - чемодан без ручки

У меня тоже как такового большого опыта нету с Django, но в принципе пока почти во всем устраивает. Мне кажется не нужно сильно минимизировать код чтобы в дальнейшем было проще разобраться (изменять) по необходимости, а также использовать Ajax.
Ведь прямой конкурент по WEB это PHP который в свою очередь плодит в 10 раз более кода, но почему то многие отдают предпочтение именно PHP.

Вот что мне не понравилось в Django (с чем пришлось столкнуться) - это “request.session” которые нельзя изменять, но к счастью SESSION_SAVE_EVERY_REQUEST = True все решило.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version