Фичи 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. :-)))
Это наверное для меня самая ожидаемая фича. :-)
А это вторая. Да-да, newforms-admin беспокоит намного меньше. :D
Хм, а сейчас не применяются? Странно, но не стыкался.
Не уверен, какие. Он говорит о том, что бывают ситуации, в которых нету правильного порядка, но я не стыкался и пока не представляю, как это.
Google Summer of Code
Comments
Джанга же вроде испоьлзует pydispatcher? у меня он проблем не вызывал никогда и на вид довольно прост, чему там тормозить?
Это незаметно, когда сигналов немного. А когда их много, то без них всё выходит намного быстрее. Например, конструкция объектов. Вот одно из последних обсуждений.
Спасибо за обзор, очень полезно.
Джеймсу спасибо! ;-) А то для меня так бы и оставалось тайной, что наконец-то валидацию приведут в порядок.
Я не знаю в курсе вы или нет, но релиз 1.0 — это вовсе не какой-то набор функционала. Это готовность к замораживанию API и его обратной совместимости. А это будет, имхо, не так уж скоро.
API большей частью уже готов.
какой такой “большей” частью? одна только newforms-admin ещё сырая, а когда выйдет — надо будет достаточно долго тестировать, потому что она уже не совместима с транком.
newforms-admin — это ли не меньшая часть? Все обратно-несовместимые изменения, которые запланировали сделать, перечислены в письме Джеймса были (и соответственно тут). URL’ы не меняют, модельки не меняют, синтаксис ORM не меняют — это реально большая часть.
меняется автоматическая админка и апи работы с ней — это БОЛЬШАЯ часть. Внутренние изменения не затрагивающие большую часть пользователей - МЕНЬШАЯ.
вы только представьте что надо будет всем
а) переделать модельки для newforms-admin б) проверить всё в) дописать кастомный функционал старых админок к новым г) найти миллиард багов и улучшений, прежде чем newforms админка сможет заменить старую д) починить их
а чего тут кричать — осень — это самый оптимистичный минимум для 1.0 скорее всего 2008 Q4.
А, у нас просто понятия “скоро — не скоро” отличаются. ;-) Как по мне, скоро — это в течении полугода. :D Просто потому, что один QSRF затянул с момента, когда Малькольм сказал “буду делать” почти целый год.
Вы наверное излишне много используете админку… потому что реально в больших проектах не получалось старую использовать (как с новой будет — я не знаю), и потому никаких больших проблем с переходом не будет. ;-)
А заявление “админка — это большая часть” — даже не смешно.
А вы видимо используете админку излишне мало.
Я видел очень очень очень хорошие кастомные админки на базе джанговской. Отказ от такого функционала значит лишь неумение им пользоваться.
А Вы, многоуважаемый, писсун.
Такие громкие заявления говорят лишь о недалёкости.
А Вы - идиот.
хоть одна причина чем админка своя собственная лучше чем базированная на джанговской?
и вы похоже зря уверены, что раз не используете админку — то newforms-admin вас не заменит. Meta минимум.
кстати, по 4ой сноске — т.е. вы правда не можете понять почему, например, сжимать всё в gzip лучше в последнюю очередь (и ставить gzip middleware первой в списке)?
Что значит лучше? В своей можно сделать то, чего нельзя сделать не в своей. Её можно внедрить прямо в интерфейс сайта, например.
А я и не говорил, что newforms-admin мне что-то заменит.
Я сказал, что не знаю ситуаций, когда нету правильного порядка при текущей системе. И я правда их не знаю. Почему бы просто не читать то, что я пишу?
список фич и на официальном сайте есть
http://code.djangoproject.com/wiki/VersionOneFeatures
Йеп, и его даже обновляют. Но слова Джеймса были убедительнее, чем абстрактная страничка в вики. :-) Да и чуток развёрнутее.
Иногда комменты читать прикольней,чем статью…
Comment form for «Фичи Django 1.0»