Красиво отформатированные страницы ошибок в Django

Полюбуйтесь на только что созданное вами замечательное веб-приложение в последний раз, потому что сейчас мы его сломаем! Давайте сознательно внесем ошибку в файл views, ру, закомментировав несколько строк в представлении hours_ahead:

def hours_ahead(request, offset): tt try:

tt offset = int(offset) tt except ValueError:

Читать

Третье представление: динамические URL-адреса

В представлении current_datetime динамическим было содержимое страницы - текущие дата и время, но ее URL-адрес (/time/) оставался статическим. Однако в большинстве динамических веб-приложений URL содержит параметры, которые влияют на содержимое результирующей

страницы. Так, в книжном интернет-магазине каждой книге может быть сопоставлен отдельный URL (например, /books/243/ и /books/81196/).

Читать

Конфигурация URL и слабая связанность

Теперь самое время остановиться на методологическом принципе, стоящем за идеей конфигурации URL и Django в целом, - принципе слабой связанности. Говоря попросту, слабая связанность - это подход к разработке программного обеспечения, в котором на первое место выдвигается взаимозаменяемость составных частей. Если две части кода слабо связаны, то изменения в одной из них почти или совсем не отразятся на другой.

Читать

Утилита django-admin - ЧАСТЬ 2

Если для фикстуры указано не только имя, но и расширение файла, то загружаются только фикстуры заданного типа. Например, команда

django-admin.ру loaddata mydata.json

загрузит только JSON-фикстуры с именем mydata. Расширение фикстуры должно соответствовать зарегистрированному имени сериализато- ра (например, json или xml). Дополнительные сведения о сериализато- рах см. в документации по Django.

Читать

Справочник по встроенным фильтрам add Django

Прибавляет аргумент к значению, например:

{{ value|add:"2" }} Если value равно 4, то получится 6.

addslashes

Вставляет символы слеша перед кавычками. Полезно, например, для экранирования строк в формате CSV.

capfirst

Переводит первый символ значения в верхний регистр.

Читать

Встроенные шаблонные теги и фильтры Django

В главе 4 упоминались наиболее полезные из встроенных шаблонных тегов и фильтров. Но в Django имеется множество других тегов и фильтров. Они перечислены в настоящем приложении.

Справочник по встроенным тегам autoescape

Управляет автоматическим экранированием. Принимает в качестве аргумента значение on или of f и на его основе включает или выключает автоматическое экранирование внутри блока.

Читать

Параметры настройки Django

Файл параметров содержит все параметры настройки инсталляции Django. В этом приложении описывается, какие параметры имеются и как они используются.

Устройство файла параметров

Файл параметров - это обычный модуль Python с переменными уровня модуля. Вот несколько примеров:

DEBUG = False

Читать

Справочник по обобщенным представлениям Django

В главе 11 мы познакомились с обобщенными представлениями, но оставили за кадром многие любопытные детали. В этом приложении мы опишем все имеющиеся обобщенные представления вместе с их параметрами. Но не пытайтесь вникнуть в приведенный ниже материал, не прочитав предварительно главу 11. Возможно, вам также понадобится освежить в памяти определенные в ней классы Book, Publisher и Author, поскольку они встречаются в примерах.

Читать

Справочник по API доступа к базе данных Django - ЧАСТЬ 3

»> from django.core.exceptions import ObjectDoesNotExist »> try:

e = Entry.objects.get(id=3) b = Blog.objects.get(id=1) … except ObjectDoesNotExist:

print "Либо запись, либо блог отсутствуют."

Метод create(**kwargs)

Это вспомогательный метод, позволяющий создать и сохранить объект за одну операцию. В нем следующие два шага:

Читать

Второе представление: динамическое содержимое

Представление «Hello world» было поучительно для демонстрации принципов работы Django, но это не динамическая веб-страница, потому что ее содержимое всегда одно и то же. При каждом обращении к URL /hello/ вы видите одну и ту же информацию; с таким же успехом это мог быть статический HTML-файл.

В качестве второго представления создадим нечто более динамичное - страницу, которая показывает текущие дату и время. Это просто, так как не подразумевает ни взаимодействия с базой данных, ни приема данных от пользователя; нужно лишь опросить внутренний таймер сервера. Не сказать что такая страница намного интереснее «Hello world», но все же на ней можно продемонстрировать несколько новых концепций.

Читать