LINUX.ORG.RU

Там учебы - неделя на каждый.
Если в теме, конечно.

tzukko
()

Учи джангу. Пилонс вообще не фреймворк -- просто куча компонент различных разработчиков кое-как слеплена и названо громким словом. Джанга куда более цельный и интересный продукт.

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

> pylons более академичен

По-моему, любой другой эпитет подошел бы пилонсу больше чем этот... В чем же его, простите, академичность?

provaton ★★★★★
()

Смотрел все фреймворки, всё говно :). Щас смотрю чего там с джангой из транка, авось лучше стала.

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

>Смотрел все фреймворки, всё говно :).

По-конкретнее.

tzukko
()

Если нужно быстро на коленке сделать проектик - Django, тут у тебя небольшая админка(которую лучше потом переписать), SQLObject(впринципе пойдет, если не нужны сложные запросы). Если нужно что-то более серьезное - то Pylons, здесь ты можешь выбрать более удобный для тебя шаблонизатор(mako хватает практически для всего, довольно удобен), SQLAlchemy(удобнее, чем SQLObject, но далека от идеала), возможность выбора компонентов. А выбрать лучше web.py, это самый гибкий фреймвок.

xpahos ★★★★★
()

Рекомендую учить и то и то.

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

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

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

О гибкостях web.py можно слагать легенды :). Чего там только нет: этого нет, этого нет...

tzukko, там много чего в django было тупо недоделано и глючило. Они и сами пишут что между 1.0 и 1.1 исправили 2тыщи багов. В целом, щас django сильно лучше стал(со времён 0.96 когда тестил), поэтому щас пытаюсь осилить заново. Но проблемы с ним есть. Например, его модели намертво завязаны на sql и нет возможности их создавать, скажем, из memcached или других движков(очень хотелось бы видеть распределённые хранилища). Или движок комментариев совсем никакой(впрочем, не удивительно, он всего из пары строк состоит, я переписал с нуля его). Валидацию моделей так и не воткнули. А ведь эта история три года уже тянется(http://code.djangoproject.com/ticket/6845). Капчи нету...

В общем, щас ещё раз попробую проект сделать на джанге, может и пофиксили кучу проблем в дизайне когда приходилось бегать по инету в поисках костылей и патчей.

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

ты наверно не знал, но до версии 1.0 в Джанге API ломали и авторы об этом предупреждали. Так что сравнивать более ранние версии не стоит.

xpahos ★★★★★
()

Устройся на работу, а там тебе скажут что учить)

kost-bebix ★★
()

Хорошая тема. Изучаю pylons (по http://pylonsbook.com/) после django. Дошёл до форм через formencode и htmlfill. Что-то этот способ после форм джанго кажется унылым. Что для форм используют в реальных проектах?

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

> Что для форм используют в реальных проектах?

GWT ;)

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

Про API в моём посте не было ни слова(который, кстати, и дальше собираются ломать).

true_admin ★★★★★
()

Выше написали много глупостей :) Джангу нельзя выучить за неделю. Нормальные проекты не делаются "быстренько на коленке". Админка джанги уже расширяема настолько, что переписывать ее нет смысла, так как ее можно расширить до любого состояния.

По поводу самого вопроса. Выучите сначала питон, попишите веб-приложения без фреймворков, поймите принцип работы wsgi. Без этого любой фреймворк ничего полезного вам не даст.

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

По поводу академичности. Джангу пишут очень грамотные люди. В этом я неоднократно убеждалась. Каждое архитектурное изменение сопровождается активными дискуссиями, API просто так не ломается, это всегда вымученное и выношенное решение. Я им полностью доверяю и вам советую :)

О Pylons ничего хорошего, равно как и плохого, сказать не могу.

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

> Django, тут у тебя SQLObject

Блин, ну не видел ты джангу никогда, ну нафига корчить из себя умника и писать ахинею? Нету в джанге SQLObject, там свой orm.

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

> Блин, ну не видел ты джангу никогда, ну нафига корчить из себя умника и писать ахинею? Нету в джанге SQLObject, там свой orm.

Да, извиняюсь, перемутал с TG, в Django еще более убогая ORM.

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

> Так что ли? select * from table0, table1, table2, table3

> orm нужен не для работы с "селектами". Он нужен для работы с объектами.


SQLAlchemy:

meta.Session.query(model.Selected).join(model.Price).join(model.Users).join(mod el.Transactions).<...>

модель не могу показать, но все это связано с помощью ForeignKey

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

То что ты показал легко делается на джанго, причём даже на древних версиях. Занимается этим queryset. Поддерживает и foreign key и many to many итп.

Доки сдесь: http://docs.djangoproject.com/en/dev/topics/db/queries/#topics-db-queries

Тебе нужно chaining filters.

> модель не могу показать, но все это связано с помощью ForeignKey

Я не знаком с SQLAlchemy, но что-то мне подсказывает что на выходе будет не модель как таковая а просто питоновкое представление sql-выборки. Я прав? Именно поэтому ты не можешь показать модель ибо это не ORM.

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

> То что ты показал легко делается на джанго, причём даже на древних версиях. Занимается этим queryset. Поддерживает и foreign key и many to many итп.

> Доки сдесь: http://docs.djangoproject.com/en/dev/topics/db/queries/#topics-db-queries


и где там что про JOIN ? Вот приведи пример ну хотя бы с 3мя таблицами.

> Я не знаком с SQLAlchemy, но что-то мне подсказывает что на выходе будет не модель как таковая а просто питоновкое представление sql-выборки. Я прав? Именно поэтому ты не можешь показать модель ибо это не ORM.


хорошо что не знаком. Не прав.

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

Щас занят, вечером покажу. Или не покажу если я ошибаюсь. Я правильно понимаю что задача сначала выдрать одни объекты а потом другие которые с ними связаны каким-то отношением?

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

> Я правильно понимаю что задача сначала выдрать одни объекты а потом другие которые с ними связаны каким-то отношением?

Нет, сразу все из 4х таблиц.

xpahos ★★★★★
()

Мне вот всегда были интересны эти товарисчи, кричащие на каждом углу "О, а что же мне учить? Может мне выучить быдлотехнологию Х или недоговнотехнологию Y?"

Неужели вы думаете, что освоив один, два, три максимум говнофреймворка так вас всех понарасхватают сразу по конторам на большие зп? Фреймворк это последнее дело. Двух, трех дней целенаправленного изучения по ГеттингСтартед гидам хватит вполне чтобы освоить и приступить к выполнения проекта на любом из ваших Джанго, Пилон, Джумла, Говнумла, РубиРейлс, Грейлс и тд, а все остальное постигнете в процессе. Была бы подходящая задача. А так тупо сидеть и учить, этого никогда не понимал, пустая трата времени, всеравно потом все забудешь и на первом же собеседовании тебя спросят "Имели ли опыт реальной разрабтки или знаете по книжкам?". Посему важны фундаментальные знания в том на чем собственно собираешься программировать и нормальная рассудительность, чтобы отбрасывать кучу всего говна, которое понаписали пейсаки.

klauzd
()

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

Так вот. Пришел ко мне товарищ и говорит - слушай, надо сайт тут один написать, поможешь? Я согласился, только подумал - а не попробовать ли мне его написать на чем либо другом, отличном от пыхпыха? Поискал фреймворки на питоне, первым наткнулся на джангу. На ней и остался. Осилил его за неделю на базовом уровне, за месяц на нормальном уровне, уже три сайта на нем написао и еще несколько на подходе. В целом, очень доволен, хотя кое чего и не хватает.

S-H-Dat
()
Ответ на: комментарий от xpahos

Объект в джанге соответствует строке одной таблицы, поэтому требование "выбрать объект из 4-х таблиц" некорректно.

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

> Объект в джанге соответствует строке одной таблицы, поэтому требование "выбрать объект из 4-х таблиц" некорректно.

Требование корректно, это абстракции ORM не корректны.

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

напиши select из 4-х таблиц

лол что значит селект из 4х таблиц?

если в моделях есть FK то ничего специально писать не нужно:

>>> user = User.objects.select_related().get(username = 'xpahos')
>>> user.groups
[<Group: Lamers>, <Group: Trolls>]
>>>

и без select_related() тоже работать будет, но тогда это будет не один запрос.

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

> А как ваши 4хэтажные селекты и джойны укладываются в MVC?

ты разницу между ORM и MVC знаешь ?

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

> Ну, почитай что такое JOIN, тогда может не будешь смеяться.

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

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

>почитай что такое UNION и будешь знать что JOIN это не единственный вариант выборки из нескольких таблиц.

Ага. А особенно UNION хорощ для SQL-иньекций в плохих системах.

S-H-Dat
()
Ответ на: комментарий от xpahos

> напиши select из 4-х таблиц

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

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

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

А зачем делать из Django Pylons ?

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