Оглавление
Предисловие
Об авторах
Введение
I. Начальные сведения
1. Введение в Django
Что такое веб­фреймворк?
Шаблон проектирования MVC
История развития Django
Как читать эту книгу
Где получить помощь
Что дальше?
2. Приступая к работе
Установка Python
Установка Django
Проверка установки Django
Настройка базы данных
Создание проекта
Что дальше?
3. Представления и конфигурирование URL
Первая страница, созданная в Django: Hello World
Как Django обрабатывает запрос
Второе представление: динамическое содержимое
Конфигурация URL и слабая связанность
Третье представление: динамические URL-адреса
Красиво отформатированные страницы ошибок в Django
Что дальше?
4. Шаблоны
Принципы работы системы шаблонов
Использование системы шаблонов
Простые шаблонные теги и фильтры
Идеология и ограничения
Использование шаблонов в представлениях
Загрузка шаблонов
Наследование шаблонов
Что дальше?
5. Модели
Прямолинейный способ обращения к базе данных из представления
Шаблон проектирования MTV (или MVC)
Настройка базы данных
Ваше первое приложение
Определение моделей на языке Python
Первый пример модели
Установка модели
Простой доступ к данным
Добавление строковых представлений моделей
Вставка и обновление данных
Выборка объектов
Удаление объектов
Что дальше?
6. Административный интерфейс Django
Пакеты django.contrib
Активация административного интерфейса
Работа с административным интерфейсом
Добавление своих моделей в административный интерфейс
Как работает административный интерфейс
Как сделать поле необязательным
Изменение меток полей
Настроечные классы ModelAdmin
Пользователи, группы и разрешения
В каких случаях стоит использовать
административный интерфейс
Что дальше?
7. Формы
Получение данных из объекта запроса
Пример обработки простой формы
Усовершенствование примера обработки формы
Простая проверка данных
Создание формы для ввода отзыва
Ваш первый класс формы
Что дальше?
II. Профессиональное использование
8. Углубленное изучение представлений и конфигурации URL
Конфигурация URL: полезные приемы
Включение других конфигураций URL
Что дальше?
9. Углубленное изучение шаблонов
Обзор языка шаблонов
Объект RequestContext и контекстные процессоры
Автоматическое экранирование HTML
Загрузка шаблонов - взгляд изнутри
Расширение системы шаблонов
Собственные загрузчики шаблонов
Настройка системы шаблонов для работы в автономном режиме
Что дальше?
10. Углубленное изучение моделей
Связанные объекты
Изменение схемы базы данных
Менеджеры
Методы модели
Прямое выполнение SQL-запросов
Что дальше?
11. Обобщенные представления
Использование обобщенных представлений
Обобщенные представления объектов
Расширение обобщенных представлений
Что дальше?
12. Развертывание Django
Подготовка приложения к развертыванию на действующем сервере
Отдельный набор настроек для рабочего режима
Переменная DJANGO_SETTINGS_MODULE
Использование Django совместно с Apache и mod_python
Использование Django совместно с FastCGI
Масштабирование
Оптимизация производительности
Что дальше?
III. Прочие возможности Django
13. Создание содержимого в формате, отличном от HTML
Основы: представления и типы MIME
Создание ответа в формате CSV
Генерация ответа в формате PDF
Прочие возможности
Создание каналов синдицирования
Карта сайта
Что дальше?
14. Сеансы, пользователи и регистрация
Cookies
Подсистема сеансов в Django
Пользователи и аутентификация
Разрешения, группы и сообщения
Что дальше?
15. Кэширование
Настройка кэша
Кэширование на уровне сайта
Кэширование на уровне представлений
Кэширование фрагментов шаб­лона
Низкоуровневый API кэширования
Промежуточные кэши
Заголовки Vary
Управление кэшем: другие заголовки
Другие оптимизации
Порядок строк в MIDDLEWARE_CLASSES
Что дальше?
16. django.contrib
Стандартная библиотека Django
Сайты
Плоские страницы
Переадресация
Защита от атак CSRF
Удобочитаемость данных
Фильтры разметки
Что дальше?
17. Дополнительные процессоры
Что такое дополнительный процессор?
Установка дополнительных процессоров
Методы дополнительных процессоров
Встроенные дополнительные процессоры
Что дальше?
18. Интеграция с унаследованными базами данных и приложениями
Интеграция с унаследованной базой данных
Интеграция с системой аутентификации
Интеграция с унаследованными веб-приложениями
Что дальше?
19. Интернационализация
Как определять переводимые строки
Как создавать файлы переводов
Как Django определяет языковые предпочтения
Применение механизма перевода в собственных проектах
Представление set_language
Переводы и JavaScript
Замечания для пользователей, знакомых с gettext
gettext для Windows
Что дальше?
20. Безопасность
Безопасность в Сети
Внедрение SQL
Межсайтовый скриптинг (XSS)
Подделка http-запросов
Атака на данные сеанса
Внедрение заголовков электронной почты
Обход каталогов
Открытые сообщения об ошибках
Заключительное слово о безопасности
Что дальше?
IV. Приложения
A. Справочник по моделям
Поля
Универсальные параметры поля
Отношения
Метаданные модели
B. Справочник по API доступа к базе данных
Создание объектов
Сохранение измененных объектов
Выборка объектов
Объекты QuerySet и кэширование
Фильтрация объектов
Поиск по полям
Сложный поиск с использованием Q-объектов
Связанные объекты
Удаление объектов
Вспомогательные функции
Работа с SQL напрямую
С. Справочник по обобщенным представлениям
Аргументы, общие для всех обобщенных представлений
Простые обобщенные представления
Обобщенные представления для списка/детализации
Обобщенные представления датированных объектов
D. Параметры настройки
Устройство файла параметров
Назначение файла параметров: DJANGO_SETTINGS_MODULE
Определение параметров без установки
переменной DJANGO_SETTINGS_MODULE
Перечень имеющихся параметров
E. Встроенные шаблонные теги и фильтры
Справочник по встроенным тегам
Справочник по встроенным фильтрам
F. Утилита django-admin
Порядок вызова
Подкоманды
Параметры по умолчанию
Дополнительные удобства
G. Объекты запроса и ответа
Класс HttpRequest
Класс HttpResponse
Алфавитный указатель