LINUX.ORG.RU

Новый релиз фреймворка Django 1.4

 , , ,


0

1

С опозданием на несколько недель вышел новый мажорный релиз фреймворка для разработки веб-приложений на языке Python − Django 1.4. Список изменений весьма обширен, наиболее интересные из них:

  • Продвинутая поддержка часовых поясов (timezone).
  • Поддержка браузерных фреймворков для тестирования (например, Selenium).
  • Шаблоны для создания новых проектов.
  • Улучшена поддержка WSGI.
  • Поддержка SELECT FOR UPDATE в ORM, которая позволяет заблокировать доступ на чтение и удаление к записям, соответствующим запросу.
  • Теперь можно хранить данные пользовательской сессии в cookie.
  • Добавлен метод Model.objects.bulk_create для эффективной вставки множества записей в БД.
  • Добавлен метод QuerySet.prefetch_related, схожий с известным методом select_related, но который более эффективно работает в некоторых сложных ситуациях (например, для отношений многое-ко-многим, или при использовании GenericForeignKey).
  • Улучшено хеширование паролей. Теперь используется алгоритм PBKDF2.
  • Страницы встроенной админки теперь имеют HTML5 Doctype.
  • Улучшения админки: улучшены фильтры, добавлена возможность множественной сортировки.
  • FormWizard переписан с использованием class-based views.
  • Добавлен метод reverse_lazy, позволяющий использовать обратный резолвинг URL (django.core.urlresolvers.reverse) до загрузки URLConf.
  • Улучшена поддержка интернационализации URL.
  • Улучшен вывод отладочной информации при ошибках в шаблонах.
  • Добавлена защита от Clickjacking (выключена по умолчанию для обратной совместимости).
  • Улучшена защита от CSRF.

Надо заметить, что в релизе 1.4 убрана поддержка Python 2.4, а в релизе 1.5 будет добавлена экспериментальная поддержка Python 3, о чем можно почитать здесь.

Список изменений, ломающих обратную совместимость

Список функций, не рекомендуемых для использования (deprecated)

>>> Полный список нововведений

★★★★★

Проверено: DoctorSinus ()

Мои поздравления всем пользующимся. Судя по всему, скоро надо будет переползать на python3

gnunixon ★★★ ()

Хорошая новость, надо переводить потихоньку продакшен...

Apkawa ()

забыли упомянуть 1 из важнейших изменений, структура проекта поменялась!

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

Это не так уж и важно, и тяжело объяснить непитонщикам в чем профит.

provaton ★★★★★ ()

Ништяк !! Очнь нравится этот фреймворк !

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

Насколько я понимаю, поддерживается текущий релиз и предыдущий. Так, для 1.2 уже секьюрити апдейты не выпускаются.

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

Меньше заморочек с импортами модулей. В релиз нотесах примеры и подробные пояснения.

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

и какой он по факту выходит? у той же, не к ночи помянутой, joomla 2.5 период 18 месяцев.

Umberto ★☆ ()

У меня невинный вопрос: а чем оно лучше Rails?

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

У меня невинный ответ: срач Django-Rails мы здесь разводить не будем.

anonymous ()

Новость озаглавлена так, будто фреймворк называется Django 1.4.

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

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

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

Тем, что не похапэ. Очевидно же.

А что, кто-то даже похапе осилить не может?

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

Вопрос не в том, осилить или не осилить. Просто похапэ не нужно.

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

phony? Звучит как-то по-гейски. Какой нормальный человек станет этим пользоваться?!

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

не нужно не нужно не нужно.

Например, в Руби это выражение имеет смысл и следует рекомендациям по кодированию. А в пыхе было бы много лишних звуков. Как в датском.

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

Кстати, тебе не кажется что язык с тоннами устаревшего хлама в качестве функций и ТАКИМ сообществом просто сложно учить?

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

Кстати, тебе не кажется что язык с тоннами устаревшего хлама в качестве функций и ТАКИМ сообществом просто сложно учить?

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

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

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

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

Ты, кстати, работу-то нашел, горе-рубист? Сколько платят, если не секрет?

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

Нашёл, спасибо, Отче Наш Выпендрёжник Всея ЛОРа) 40к.

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

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

4.2 Java, C#, RoR, Python - а собенно первые два _очень_ популярны.

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

Java

Кроме ЛОРа не знаю ни одного сколь-нибудь популярного ресурса, написанного на Java. И то только потому, что у Макскома походу «пунктик» на ынрырпрайзе: федора на десктопе, жава на сервере.

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

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

Нашёл, спасибо, Отче Наш Выпендрёжник Всея ЛОРа) 40к.

Молодец, растёшь. Ещё немного и будешь почти как жуниоры на пыхе получать :-)

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

Может в дефолт-сити 40к это и мало, но в регионах это очень даже неплохо. В Красноярске программист получает в среднем 20к, а порой даже меньше.

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

Моё чсв, конечно, недовольно, но ты перегибаешь)

daris ()

Допустим я знаю Питон и сообразительный. Долго будет осилить эту вашу Жангу? Особенно интересует, сколько это займет оп Джангобук. И если Джангобук описывает версию 1.0 — это много меняет?

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

И если Джангобук описывает версию 1.0 — это много меняет?

Много. Не тратьте время на этот Djangobook

Долго будет осилить эту вашу Жангу?

Если на практике, по вечерам, по 1-2 часа в день - не больше месяца. Это для примерно 30% фич, чего будет более чем достаточно для дальнейшего изучения по докам.

ЗЫ, сам джангу не знаю :)

MyTrooName ★★★★★ ()

Отлично! Мой бложек безопасносте!

fifajan ()

а в релизе 1.5 будет добавлена экспериментальная поддержка Python 3, о чем можно почитать здесь.

Как я понимаю, это светит уже после 2012?

Но вообще, «УРА, наконец-то!!!», да

MyTrooName ★★★★★ ()

после того как в ORM Django по каскаду удалилось полбазы ( при том что таких связей не было в самой БД ) я перестал пользоваться DJango. Разрабы вместо того чтобы улучшать продукт стали эмулировать функции БД.

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

Не тратьте время на этот Djangobook.

Что тогда? Практика?

ПС: на ЛОРе принято обращаться на «ты».

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

Напиши один проект и всё станет на свои места. А остальное - это плагины и опыт. Сам недавно тем же занимался. Вот только последнее время джанго постепенно сливает рельсам. А так, если знаком с MVC нечего там осилить - очень все прозрачно сделано.

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

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

Хотя у меня с каждый релизом реакция «УРА, наконец-то, теперь зажевем!»

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

К грядущему переходу на python3 это не относится, или относится в меньшей мере

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

ну да, а после патча бармина самое время перестать пользоваться линуксом. А после format c: - виндой. И вообще, нафиг этот компьютер.

asmer ()

* Теперь можно хранить данные пользовательской сессии в cookie

Это понимать как улучшение ?

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

я бы не был столь категоричен по поводу джангобука. Читаешь за несколько часов первые главы (есть даже русский перевод, djbook.ru) и тут же начинаешь пилить свой хэлловорлд, периодически почитывая мануалы или тот же djangobook. В итоге и в голове порядок, и практика нарабатывается. Мануалы все равно экономят время, а не наоборот :)

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

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

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

sphericalhorse ★★★★ ()

Надо заметить, что в релизе 1.4 убрана поддержка Python 2.4, а в релизе 1.5 будет добавлена экспериментальная поддержка Python 3

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

Хорошие языки в этом плане - C, C++, вероятно, Java (хотя моего опыта на ней явно недостаточно, чтобы утверждать это категорично), и даже (о, ужас) Object Pascal aka Delphi Language. На C++ проблемы с совместимостью, правда, тоже бывают, но там это в 99% случаев связано с тем, что программист позволял себе какие-то нестандартные вольности, а в новой версии компилятора взяли и ужесточили контроль. С тулкитами возникают проблемы, но это уже не проблемы языка.

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

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

В пузоне такое тоже ВНЕЗАПНО возникает если позволять себе какие-то нестандартные вольности.

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