About Blog Dev | Alfa Romeo SZ Conkeror wishlist

Фичи Django 1.0

Джеймс Беннет пару дней назад опубликовал список фич, которые важны для релиза Django 1.0, по причине того, что они очень большие и важные, либо того что они простые, маленькие и порядочно улучшают/облегчают использование в обычных случаях, либо (менее важно) они заметно нарушают обратную совместимость и было бы неплохо их интегрировать заранее.

Четвёрка главарей, первый из которых уже успешно убит:

  • Queryset-refactoring
  • Newforms-admin
  • Валидация данных на уровне моделей
  • Перевод всего, что использует oldforms, на использование newforms

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

И сопутствующая им банда:

  • Переработка бекенда для сохранения файлов, которая вообще облегчит работу с файлами и позволит легко добавлять новые хранилища, в т.ч. и сетевые. Патч существует и готов к применению
  • Рефакторинг диспетчера сигналов, который нереально полезен, но порядочно притормаживает. Как минимум Джекоб Каплан-Мосс над этим работает
  • Починка интерфейса WSGI, которая наконец-то позволит без напрягов сажать Джангу не только в корень проекта без изменений в урлах1
  • Переработка механизма загрузки тегов (который {% load something %}) — он довольно магический для того, чтоб при возникновении ошибки рапорт о ней был совершенно непонятен :-)
  • Улучшение обратного резолвинга адресов.2 Натыкался уже неоднократно и был бы счастлив, если бы хотя бы существующие патчи применили
  • Улучшение резолвинга переменных в тегах, чтоб фильтры автоматически применялись3

Парочка обратно несовместимых изменений, которые не столько большие, сколько несовместимые :-)

  • Часто упоминаемая переделка INSTALLED_APPS, чтоб одно приложение можно было использовать несколько раз, плюс чтобы магичность app_label пропала
  • Механизм указывания и упорядочивания миддлварей, потому что похоже с ним встречаются довольно неприятные ситуации4

Есть ещё три изменения, которые часто просят и многие будут удивлены, если они будут отсутствовать в Django 1.0:

  • Рефакторинг django.contrib.comments
  • Рефакторинг документации
  • Поддержка агрегации в ORM

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

Так что делать ещё есть что, но в то же время большая часть изменений почти готова, потому 1.0 уже выглядывает из-за горизонта. Особенно после мержа qsrf. :-)))

1

Это наверное для меня самая ожидаемая фича. :-)

2

А это вторая. Да-да, newforms-admin беспокоит намного меньше. :D

3

Хм, а сейчас не применяются? Странно, но не стыкался.

4

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

5

Google Summer of Code

Add post to: Delicious Reddit Slashdot Digg Technorati Google
Comment

Comments

redbaron 28.04.2008 16:44

Джанга же вроде испоьлзует pydispatcher? у меня он проблем не вызывал никогда и на вид довольно прост, чему там тормозить?

reply
Александр Соловьёв 28.04.2008 17:52

Это незаметно, когда сигналов немного. А когда их много, то без них всё выходит намного быстрее. Например, конструкция объектов. Вот одно из последних обсуждений.

reply
Yury Yurevich 28.04.2008 18:13

Спасибо за обзор, очень полезно.

reply
Александр Соловьёв 28.04.2008 19:49

Джеймсу спасибо! ;-) А то для меня так бы и оставалось тайной, что наконец-то валидацию приведут в порядок.

reply
Vadim Fint 6.05.2008 14:07

Я не знаю в курсе вы или нет, но релиз 1.0 — это вовсе не какой-то набор функционала. Это готовность к замораживанию API и его обратной совместимости. А это будет, имхо, не так уж скоро.

reply
Александр Соловьёв 6.05.2008 16:13

А это будет, имхо, не так уж скоро.

API большей частью уже готов.

reply
Vadim Fint 6.05.2008 16:32

какой такой “большей” частью? одна только newforms-admin ещё сырая, а когда выйдет — надо будет достаточно долго тестировать, потому что она уже не совместима с транком.

reply
Александр Соловьёв 6.05.2008 16:37

newforms-admin — это ли не меньшая часть? Все обратно-несовместимые изменения, которые запланировали сделать, перечислены в письме Джеймса были (и соответственно тут). URL’ы не меняют, модельки не меняют, синтаксис ORM не меняют — это реально большая часть.

reply
Vadim Fint 6.05.2008 16:41

меняется автоматическая админка и апи работы с ней — это БОЛЬШАЯ часть. Внутренние изменения не затрагивающие большую часть пользователей - МЕНЬШАЯ.

вы только представьте что надо будет всем

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

reply
Vadim Fint 6.05.2008 16:42

а чего тут кричать — осень — это самый оптимистичный минимум для 1.0 скорее всего 2008 Q4.

reply
Александр Соловьёв 6.05.2008 16:50

А, у нас просто понятия “скоро — не скоро” отличаются. ;-) Как по мне, скоро — это в течении полугода. :D Просто потому, что один QSRF затянул с момента, когда Малькольм сказал “буду делать” почти целый год.

reply
Александр Соловьёв 6.05.2008 16:49

Вы наверное излишне много используете админку… потому что реально в больших проектах не получалось старую использовать (как с новой будет — я не знаю), и потому никаких больших проблем с переходом не будет. ;-)

А заявление “админка — это большая часть” — даже не смешно.

reply
Vadim Fint 6.05.2008 16:57

А вы видимо используете админку излишне мало.

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

А Вы, многоуважаемый, писсун.

reply
Александр Соловьёв 6.05.2008 17:03

Отказ от такого функционала значит лишь неумение им пользоваться.

Такие громкие заявления говорят лишь о недалёкости.

А Вы, многоуважаемый, писсун.

А Вы - идиот.

reply
Vadim Fint 6.05.2008 17:09

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

и вы похоже зря уверены, что раз не используете админку — то newforms-admin вас не заменит. Meta минимум.

кстати, по 4ой сноске — т.е. вы правда не можете понять почему, например, сжимать всё в gzip лучше в последнюю очередь (и ставить gzip middleware первой в списке)?

reply
Александр Соловьёв 6.05.2008 17:12

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

Что значит лучше? В своей можно сделать то, чего нельзя сделать не в своей. Её можно внедрить прямо в интерфейс сайта, например.

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

А я и не говорил, что newforms-admin мне что-то заменит.

кстати, по 4ой сноске — т.е. вы правда не можете понять почему, например, сжимать всё в gzip лучше в последнюю очередь (и ставить gzip middleware первой в списке)?

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

reply
slav0nic 7.05.2008 15:44

список фич и на официальном сайте есть

http://code.djangoproject.com/wiki/VersionOneFeatures

reply
Александр Соловьёв 7.05.2008 15:49

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

reply
кулинар 25.06.2008 17:29

Иногда комменты читать прикольней,чем статью…

reply

Comment form for «Фичи Django 1.0»

Required. 30 chars of fewer.

Required.