LINUX.ORG.RU

Вышел Django 1.2

 , ,


0

0

Сегодня вышла новая версия замечательного фреймворка Django на не менее замечательном языке python. Django — это высокоуровневый веб-фреймворк для быстрой разработки сайтов.

Основные изменения:

  • Поддержка нескольких баз данных
  • Валидация данных в моделях
  • Улучшена защита от CSRF
  • Messages framework (хранит сообщения между запросами в куках или сессии)
  • Более гибкий шаблонный тег if
  • Возможность маппинга чистого sql на джанговские объекты (Raw sql)

>>> Подробности



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

>Поддержка нескольких баз данных

Это как? Теперь можно работать сразу с несколькими БД/СУБД?

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

> Даже питонисты на конференциях начинают дружно поносить джангу и ее генетические проблемы.

Кстати, где можно посмотреть их список?

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

>Закопаем Похапе

Вот при всем моем искреннем ожидании этого радостного момента, порой у меня складывается впечатление, что это событие настолько же мифическое, что и вендекапец. Даже при том, что попу лярность php медленно, но верно, снижается с годами.

Ага, и на его место усиленно наступает asp.net - тоже замечательная штука, только по своему.

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

>Это как? Теперь можно работать сразу с несколькими БД/СУБД?

Ну, оно уже научилось отдельные таблицы хранить на разных серверах.

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

web2py

есть еще web2py

RT @newz2000: Why have I not tried web2py out before? Seems to have all the benefits of django plus some. 6:11 AM May 12th via web

RT @benjaminkohl: One thing I'll say about web2py is that it works immediately after installing. I've never been that lucky with Ruby o ... 4:20 PM May 10th via web

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

> Ну что, давайте поактивней, а то читать не интересно, понапишите страниц 20.

ага, давайте тогда уж страниц 50 - переплюнем арче-срач ))

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

> Ага, и на его место усиленно наступает asp.net - тоже замечательная штука, только по своему.

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

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

>Даже при том, что попу лярность php медленно, но верно, снижается с годами.
может, и пруфы есть? я вот на практике наблюдаю только рост популярности пхп, даже несмотря на то, что многие быдлокодеры начали использовать в продакшене «паделки» типа питона и его фреймворков, годные только чтоб программирование изучать на уроках информатики в школах и пту. все потому, что пхп растет и развивается (там даже появился аналог java collections), и хостингов с пхп - каждый первый. пхп идеален для того, чтобы в кратчайшие сроки довести проект до этапа зарабатывания денег (о чем многие программеры не задумываются, предпочитая надрачивать свой питон из любви к искусству), пхп-специалистов полно, поэтому его все чаще начинают использовать даже для создания крупных информационных систем.

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

> пхп-специалистов полно

с каких пор быдло-кодеров называют «специалистами»? (о_О )

anonymous
()

Следует поздравить любителей писона Python с выходом новой версии Django.

Непонятно только одно: в чём суть Messages Framework? Гуглить лень, а знать хочется.

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

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

Кстати неплохо сказано.

Увы, это так, но тимлиды этих кодеров в таких случаях должны решить для себя, своего бизнеса и своей команды: им нужно резко «взорваться» и дальше огрести кучу анальных развлечений с поддержкой PHP-кода, или же затратить больше денег на зарплату Python/Ruby-разработчикам и сделать хороший продукт, который будет несколько затратнее поначалу, зато имеет более гладкую поддержку в будущем.

eveel ★★
()
Ответ на: web2py от anonymous

> есть еще web2py

Посмотри код, а потом закапывай.

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

>Непонятно только одно: в чём суть Messages Framework?

Я сам еще не щупал. Но из того, что понял, суть примерно такова:

К примеру, у тебя в УИ есть кнопочки, активирующие очень затратные действия. Заставлять юзера ждать, пока все скрипты отработают, чтобы получит страничку с текстом «операция выполнена успешно» - не есть правильно. Гораздо лучше было бы запустить скриптик на фоне, а юзеру тут же выдать мессагу «ваш запрос обрабатывается, мы сообщим вам, когда это произойдет» и юзер спокойно продолжает дальше по твоему хомяку ползать. И когда фоновый скрипт таки отработал, он просто пишет в сессию сообщение юзеру, которое будет отоброжено сразу же при переходе юзера на любую следующую страницу, только код для вывода мессаг в глобальном шаблоне укажи.

В теории как-то так.

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

> Непонятно только одно: в чём суть Messages Framework?

В обмене сообщениями.

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

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

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

> twisted и то как-то поприятнее.

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

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

>прибитая гвоздями монолитность

Это при которой шаблонизатор меняется на раз, ОРМ на два и все остальное на три?

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

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

>Это при которой шаблонизатор меняется на раз, ОРМ на два и все остальное на три?

ok. шаблонизатор - фиг с ним. как поменять ОРМ на два? вот у меня есть приложение на джанге. хочу на sqlalchemy перейти. и чтобы все на транке максимум, никаких форков и отдельных веток.

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

>twisted делают умудренные опытом старые евреи

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

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

>Джанга не монолитна. По сути это набор нескольких отдельных элементов.

Несколько вопросов.

1) Я хочу использовать джанговские forms, orm, templates, controller aka view( по отдельности! ) в своих внешних проектах, не используя всю джангу. Как?

2) Я хочу установить плагин для sqlalchemy, написать свой models.py и просто его использовать, с возможностью django-admin.py {syncdb, test, etc etc }. Как?

3) Я хочу сделать плагин или mountable app, чтобы он сразу работал и не был привязан ни к одному конкретному ORM или шаблонизатору. Как?

4) Я хочу использовать админку с sqlalchemy изкоробки. Как?

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

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

И в каком месте там перловато? Мне довольно понятно.

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

А если на деферредах сложную логику реализовывать - лапши из трехстрочечных обрубков с неясными связями не получается?

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

>И в каком месте там перловато? Мне довольно понятно.

shimon


Вот ты и спалился - старый еврей! ;)

Вы ребята тёплое с мягким не сравнивайте. Джангисты чётко сказали _что_ они делают. И оно таки гуд.

PS:
А если вам нужен модульный конструктор то шли бы вы на Pylons!
Кста - если кто хочет клепать велики прямо из руды - есть WebPy :)

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

Ты чего выдумываешь? Не вводи людей в заблуждение.

Messages Framework просто хранит в сессии или в куках (если сообщение небольшое) сообщения между запросами.

Как пример форма регистрации: юзер ввел свой email, нажал кнопку submit, на сервер отправился POST запрос, но оставлять юзера на POST-странице нельзя, поэтому его нужно перенаправить на другую страницу и уже там показать сообщение, что мол на ваш электронный адрес отправлено письмо. Причем после показа сообщений они автоматом удаляются (ну или можно отменить удаление). Messages Framework

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

я почитал, оно как rails flash messages. а почему 'framework' тогда?

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

>1) Я хочу использовать джанговские forms, orm, templates, controller aka view( по отдельности! ) в своих внешних проектах, не используя всю джангу. Как?

Формы вроде можно оторвать от джанги http://marcuscavanaugh.com/posts/pylons-django-forms/, но естественно по моделям из SQLAlchemy автоматом формы не будут строиться. Про orm тоже когда-то находил статью. Для template'ов есть же jinja2.

2) Я хочу установить плагин для sqlalchemy, написать свой models.py и просто его использовать, с возможностью django-admin.py {syncdb, test, etc etc }. Как?

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

3) Я хочу сделать плагин или mountable app, чтобы он сразу работал и не был привязан ни к одному конкретному ORM или шаблонизатору. Как?

А где вообще так можно сделать так, чтоб веб-приложение не было привязано ни к orm, ни к шаблонизатору?

4) Я хочу использовать админку с sqlalchemy изкоробки. Как?

Django admin - это всего лишь приложение, а не часть ядра джанги. Естественно оно завязано на django orm.

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

> Будь по-твоему, так Ъ — это Perl, SSI + mod_cgi.

Причём тут это. Я не особо знаком с perl и слышу много отзывов о нём как о write only language. Т.е. он мне в любом случае не подходит. SSI и CGI тормоза же, нет? Ну и удобство вообще никакое.

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

> В питоне нет основного недостатка PHP - смешивание шаблона с кодом.

При желании - вполне можно. ЕМНИП mod_python позволял такое делать легко и непринуждённо. Другое дело что такое не принято, это да. В принципе на данный момент порог вхождения в web разработку на python кажется выше, чем на php. Может это и спасает. Просто по сообществу видно изменение уровня вопросов. Вплоть до того, что люди просто не хотят читать базовую документацию или даже не пытаются сформулировать свой вопрос. Мне кажется раньше такого было меньше.

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

> пхп идеален для того, чтобы в кратчайшие сроки довести проект до этапа зарабатывания денег

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

Сделать более-менее реальный проект - увы. Потому и надо закапывать.

Gukl ★★★
()
Ответ на: комментарий от Lonli-Lokli

По Джанге недавно вышла книжка на русском, в сети есть ещё перевод офицальных туториалов.

Толку от этих переводов. Ну прочитает пхпшник книжечку на русском, а потом? Английский не знает, документацию не сможет читать.

И будет плакаться: http://www.linux.org.ru/forum/development/4739312

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

Сам читаю в основном англоязычную документацию, она как правило свежее и подробнее, но если есть возможность прочитать обзор/вводную на родном языке, то почему бы нет? Это будет по меньшей мере быстрее и легче. От чтения англоязычной документации это ни коим образом не освобождает. О чём я кстати в цитируемом посте писал.

Lonli-Lokli ★★
()
Ответ на: комментарий от anti_social

ну то есть на все вопросы ответ - «никак». ЧТД.

А где вообще так можно сделать так, чтоб веб-приложение не было привязано ни к orm, ни к шаблонизатору?

rails-3, емнип pylons.

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

>ну то есть на все вопросы ответ - «никак». ЧТД.

А еще оно не умеет клеить красную ленту на дверь унитаза. ЧИТД.
А как оно сможет микроскопом заверуть шуруп, причём в условиях невесомости? ЧИТД.
А что это - мне еще и головой думать придётся? И вообще работать?! И нет большой красной кнопки «Сделать мне $%&*ато! ригхт нау!» ...
DYBJ! и не отвлекайся :)

Джангисты прямо и чётко рассказали _какую_ систему они строят, они не хотят велик из руды (WebPy) и не хотят всё жестко закрутить до уровня CMS. Вышел очень сбалансированный продукт, как раз для того для чего он _ИМ_ нужен был.

А где вообще так можно сделать так, чтоб веб-приложение не было привязано ни к orm, ни к шаблонизатору?

rails-3, емнип pylons.

Dooooo .... расскажи ещё :) Тут вообще то есть люди их реально использовавшие :) Пытавшиеся вернее :) Потому и молчащие вотличие от глупого тебя :)

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

мне тут пытались доказать какая джанга немонолитная. и чо? и ничо. она как cms и есть - все в себе. точнее как cmf, если уж на то пошло.

Тут вообще то есть люди их реально использовавшие :) Пытавшиеся вернее :)

джангисты такие джангисты. пытались-пытались, да и обосрались.

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

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

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

>мне тут пытались доказать какая джанга немонолитная. и чо? и ничо.

Да ты всем пох, чтоб тебе доказывать чего то. А так да - кому надо, меняли движок шаблонов и ОРМ. Про другое лично я не слышал, но и не интересовался.

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

И таки да - пилонс - где меняется всё ... что то популярнее джанги так и не стал, А ПОЧЕМУ? Потому что джангу делали практики, для практических нужд а не для architercure austronautics ...


она как cms и есть - все в себе. точнее как cmf, если уж на то пошло.


Поцциет заговаривается! Бригада - срочно ведро галлапедрила и 10 шприцов! :)

джангисты такие джангисты. пытались-пытались, да и обосрались.


Ну а ты обсирался-обсирался и вот попытался? И что? Да ничего - снова обосрался :) Как и все рельсовики - вечно пытаешься высрать рельсу :)

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

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

Нечто вроде delayed_job, workling, bj, и так далее для Rails. Вообще, для этого существуют специальные системы очередей сообщений, порой очень сложные в своей сути. Зачем такое пихать в сам фреймворк? :)

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