Django-0.96

Mar 24, 2007 15:04


Originally published at Pythy. You can comment here or there.

Вышла новая версия Django, 0.96. Краткий обзор основных новинок.
Работа БД

Во-первых, Django стал использовать новый MySQLdb (старше 1.2.1p2). Однако, если нет возможности обновить MySQLdb, то в настройках БД DATABASE_ENGINE проекта можно указать обратно совместимый mysql_old.

Во-вторых, Django научился использовать SQLite в Python 2.5.

В-третьих, поменялись имена констрейнтов. Так что если вы используете такие команды manage.py как reset для генерации SQL-запросов, то на старых БД скорее всего получите сообщение об ошибке. Разработчики Django рекомендуют вручную адаптировать сгенерированные SQL-запросы.
Администрирование

В первую очередь здесь стоит отметить возможность в админке поменять пароль пользователю напрямую, не генерируя ему хеш. Сюда же можно отнести и новые команды к manage.py: dumpdata и loaddata - для выгрузки и загрузки данных. Есть возможность использовать форматы сериализации, поддерживаемыми Django (xml, json и Python-примитивы). Команда sqlinitialdata переименована в sqlcustom для более прозрачнго использования (loaddata для данных, sqlcustom для видов, триггеров, хранимых процедур и др.) Удалена команда install, предлагается использовать syncdb.
Новые формы

Добавлены новые формы (newforms), старые еще доступны в этой версии как “просто формы” (forms), но начиная со следующего релиза будут только как “старые формы” (oldforms). Разработчики активно продвигают новинку, однако старые еще рано выбрасывать на свалку истории: в generic views они до сих пор используются.
Объекты в URLconf

Теперь в URLconf можно (и нужно) указывать не только строку “с адресом” view, но и явно передавать ее объект. Это не только способствует снижению количества ошибок, но и позволяет применять декораторы (например, login_required) к generic views.
Тесты

Django в новой версии предлагает хорошую поддержку юнит-тестов, док-тестов и интеграционных тестов. Думаю, об этом подробнее напишу в отдельной статье.

В целом, если вы используете Django с SVN, то обновление пройдет гладко. Если же вы используете 0.95 или 0.95.1, то могут возникнуть некоторые сложности (к примеру, 0.96 более строго относится к шаблонам).

Более подробно и с примерами - на сайте Django.

python, Версии, django

Previous post Next post
Up