2

Фичи Django 1.0#

 3 years ago
source link: https://solovyov.net/blog/2008/django-10-features/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Фичи Django 1.0#

3 min read

·

django

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

Apr 2008


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK