Джеймс Беннет пару дней назад опубликовал список фич, которые важны для релиза 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 ↩︎