Во второй половине дня в понедельник выпуск Django 1.2 имел фальстарт, но в веб-фреймворк на основе Python (с открытым исходным кодом) вносятся исправления, и Django 1.2.1 должен быть
выпущен сегодня днем. Проблема была в файле конфигурации, который создает документацию по Django — у него не был увеличен номер версии в пакете Django 1.2. Разработчики Django сказали, что подождут 24 часа, чтобы убедиться, что другие дефекты не обнаружены, и затем выпустят Django 1.2.1 с обновленным сборщиком документации.
Поддержка нескольких БД
В Django 1.2 вы можете использовать несколько баз данных в одном проекте Django. Появилась новая
документация о том, как использовать эту функцию. Запросы можно отправлять в конкретную базу данных с помощью метода using () для объектов QuerySet. Предоставление аргумента using при вызове save () сохранит отдельные объекты в определенной базе данных. GeoDjango также получил поддержку нескольких пространственных баз данных.
CSRF Защита от взлома
Фреймворк теперь поставляется с промежуточным программным обеспечением Cross Site Request Forgery и тегом шаблона, чтобы легко включить защиту от CSRF-атак. По словам разработчиков Django, атака CSRF «происходит, когда вредоносный веб-сайт содержит ссылку, кнопку формы или некоторый JavaScript, предназначенный для выполнения какого-либо действия на вашем веб-сайте с использованием учетных данных зарегистрированного пользователя, который посещает Вредоносный сайт в их браузере. Также распространяется на связанный тип атаки «login CSRF», при котором атакующий сайт обманывает браузер пользователя при входе на сайт с чужими учетными данными ». Узнайте, как использовать эту функцию
здесь .
Модель самопроверки
Экземпляры модели в Django 1.2 теперь могут проверять свои собственные данные. Кроме того, поля модели и формы теперь могут принимать настраиваемые списки валидаторов, которые задают инкапсулированное, повторно используемое поведение валидации. Имейте в виду, что вызов метода save () экземпляра модели не будет выполнять проверку; вам все еще нужно выполнить проверку явно.
Пользовательский фреймворк «Сообщения»
Django 1.2 имеет новую структуру сообщений, которая настраивается и является надежной. Он имеет встроенную поддержку для файлов cookie и сообщений на основе сеансов как для анонимных, так и для аутентифицированных пользователей. В результате API сообщений, который заменен структурой сообщений, устарело.
Разрешения на уровне объекта
Django 1.2 также предоставляет множество
новых возможностей аутентификации , включая основу для определения разрешений для отдельных объектов. Поскольку это не реализация уровня ядра, пользовательский бэкэнд аутентификации может обеспечить реализацию.
Мощный новый «умный», если теги
если теги в Django 1.2 имеют поддержку операторов сравнения, то вместо ввода:
{% ifnotequal a b %}
...
{% endifnotequal %}
Вы можете напечатать это:
{% if a != b %}
...
{% endif %}
==,! =, <,>, <=,> =,
в и
не в , новые операторы, поддерживаемые в Django 1.2. Они работают так же, как операторы Python.
Фильтры теперь также можно использовать в
выражении if :
<div
{% if user.email|lower == message.recipient|lower %}
class="highlight"
{% endif %}
>{{ message }}</div>
Другие новые функции
- Улучшения GeoDjango
- Разрешения для анонимных пользователей
- Слабые требования к именам пользователей
- Конфигурируемые почтовые серверы
- Новые теперь символы спецификатора формата тега шаблона: c и u
- Обработка встроенных объектов, связанных с JavaScript, в админке
- Каналы синдикации как представления
- Настраиваемая подсветка синтаксиса
- Улучшена локализация
- Быстрый провал для тестов
- BigIntegerField
- Натуральные ключи в светильниках
- Кэширование шаблонов
Обратная совместимость
Django 1.2 требует поддержки Python 2.4 в качестве нового минимума, в то время как поддержка 2.3 была прекращена. Новая структура защиты CSRF больше не совместима со старой системой, но пользователи старой системы не будут затронуты, пока она не будет удалена в Django 1.4. Бэкэнд базы данных PostgreSQL устарел, поскольку библиотека psycopg1 не обновлялась с 2005 года, но есть и другие способы использования PostgreSQL.
Второй релиз с исправлением ошибок в ветке Django 1.1.x также был выпущен. Примечания к выпуску Django 1.1.2 доступны
здесь . Поддержка ветки 1.1.x закончится после выхода Django 1.3.
Перейдите по этой
ссылке для получения полного списка новых и устаревших функций в Django 1.2. Найти лучшие IDE, хостинг и приложения для Django
сюда . Наконец, вы должны проверить учебники,
опубликованные во время Django Advent, показывающие, как использовать новые функции в 1.2.