I. Начальные сведения 17
1. Введение в Django 19
Что такое веб-фреймворк? 19
Шаблон проектирования MYC 22
История развития Django 24
Как читать эту книгу 25
Где получить помощь 27
Что дальше? 27
2. Приступая к работе 28
Установка Python 28
Установка Django 29
Проверка установки Django 32
Настройка базы данных 33
Создание проекта 35
Что дальше? 38
3. Представления и конфигурирование URL 39
Первая страница, созданная в Django: Hello World 39
Как Django обрабатывает запрос 47
Второе представление: динамическое содержимое 48
Конфигурация URL и слабая связанность 51
Третье представление: динамические URL-адреса 51
Красиво отформатированные страницы ошибок в Django 56
Что дальше? 59
4. Шаблоны 60
Принципы работы системы шаблонов 61
Использование системы шаблонов 62
Простые шаблонные теги и фильтры 72
Идеология и ограничения 79
Использование шаблонов в представлениях 81
Загрузка шаблонов 82
Наследование шаблонов 89
Что дальше? 93
5. Модели 94
Прямолинейный способ обращения к базе данных из представления 95
Шаблон проектирования MTV (или MYC) 96
Настройка базы данных 97
Ваше первое приложение 100
Определение моделей на языке Python 102
Первый пример модели 103
Установка модели 105
Простой доступ к данным 108
Добавление строковых представлений моделей 109
Вставка и обновление данных 112
Выборка объектов 113
Удаление объектов 119
Что дальше? 120
6. Административный интерфейс Django 121
Пакеты django.contrib 122
Активация административного интерфейса 122
Работа с административным интерфейсом 123
Добавление своих моделей в административный интерфейс 128
Как работает административный интерфейс 129
Как сделать поле необязательным 130
Изменение меток полей 132
Настроечные классы ModelAdmin 133
Пользователи, группы и разрешения 142
В каких случаях стоит использовать административный интерфейс 144
Что дальше? 146
7. Формы 147
Получение данных из объекта запроса 147
Пример обработки простой формы 150
Усовершенствование примера обработки формы 154
Простая проверка данных 156
Создание формы для ввода отзыва 158
Ваш первый класс формы 163
Что дальше? 172
II. Профессиональное использование 173
8. Углубленное изучение представлений и конфигурации URL 175
Конфигурация URL: полезные приемы 175
Включение других конфигураций URL 194
Что дальше? 197
9. Углубленное изучение шаблонов 198
Обзор языка шаблонов 198
Объект RequestContext и контекстные процессоры 199
Автоматическое экранирование HTML 205
Загрузка шаблонов - взгляд изнутри 208
Расширение системы шаблонов 209
Собственные загрузчики шаблонов 221
Настройка системы шаблонов для работы в автономном режиме 223
Что дальше? 223
10. Углубленное изучение моделей 224
Связанные объекты 224
Изменение схемы базы данных 226
Менеджеры 230
Методы модели 233
Прямое выполнение SQL-запросов 234
Что дальше? 235
11. Обобщенные представления 236
Использование обобщенных представлений 237
Обобщенные представления объектов 238
Расширение обобщенных представлений 240
Что дальше? 246
12. Развертывание Django 247
Подготовка приложения к развертыванию на действующем сервере 247
Отдельный набор настроек для рабочего режима 250
Переменная DJANGOSETTINGSMODULE 252
Использование Django совместно с Apache и mod_python 253
Использование Django совместно с FastCGI 258
Масштабирование 264
Оптимизация производительности 270
Что дальше? 271
III. Прочие возможности Django 273
13. Создание содержимого в формате, отличном от HTML 275
Основы: представления и типы MIME 275
Создание ответа в формате CSV 276
Генерация ответа в формате PDF 278
Прочие возможности 280
Создание каналов синдицирования 281
Карта сайта 288
Что дальше? 293
14. Сеансы, пользователи и регистрация 294
Cookies 294
Подсистема сеансов в Django 298
Пользователи и аутентификация 304
Разрешения, группы и сообщения 316
Что дальше? 318
15. Кэширование 319
Настройка кэша 320
Кэширование на уровне сайта 324
Кэширование на уровне представлений 325
Кэширование фрагментов шаблона 327
Низкоуровневый API кэширования 328
Промежуточные кэши 330
Заголовки Vary 330
Управление кэшем: другие заголовки 332
Другие оптимизации 334
Порядок строк в MIDDLEWARE CLASSES 334
Что дальше? 334
16. django.contrib 335
Стандартная библиотека Django 335
Сайты 337
Плоские страницы 343
Переадресация 347
Защита от атак CSRF 349
Удобочитаемость данных 352
Фильтры разметки 353
Что дальше? 353
17. Дополнительные процессоры 354
Что такое дополнительный процессор? 355
Установка дополнительных процессоров 356
Методы дополнительных процессоров 356
Встроенные дополнительные процессоры 359
Что дальше? 362
18. Интеграция с унаследованными базами данных и приложениями 363
Интеграция с унаследованной базой данных 363
Интеграция с системой аутентификации 365
Интеграция с унаследованными веб-приложениями 368
Что дальше? 369
19. Интернационализация 370
Как определять переводимые строки 372
Как создавать файлы переводов 378
Как Django определяет языковые предпочтения 381
Применение механизма перевода в собственных проектах 383
Представление set_language 385
Переводы и JavaScript 385
Замечания для пользователей, знакомых с gettext 388
gettext для Windows 388
Что дальше? 389
20. Безопасность 390
Безопасность в Сети 390
Внедрение SQL 391
Межсайтовый скриптинг (XSS) 393
Подделка HTTP-запросов 395
Атака на данные сеанса 395
Внедрение заголовков электронной почты 397
Обход каталогов 398
Открытые сообщения об ошибках 399
Заключительное слово о безопасности 400
Что дальше? 400
IV. Приложения 401
A. Справочник по моделям 403
Поля 403
Универсальные параметры поля 410
Отношения 415
Метаданные модели 418
B. Справочник по API доступа к базе данных 422
Создание объектов 423
Сохранение измененных объектов 425
Выборка объектов 426
Объекты QuerySet и кэширование 427
Фильтрация объектов 427
Поиск по полям 436
Сложный поиск с использованием Q-объектов 441
Связанные объекты 442
Удаление объектов 447
Вспомогательные функции 447
Работа с напрямую 448
С. Справочник по обобщенным представлениям 449
Аргументы, общие для всех обобщенных представлений 449
Простые обобщенные представления 450
Обобщенные представления для списка/детализации 452
Обобщенные представления датированных объектов 456
D. Параметры настройки 467
Устройство файла параметров 467
Назначение файла параметров:
DJANGO_SETTINGS_MODULE 469
Определение параметров без установки
переменной DJANGO_SETTINGS_MODULE 470
Перечень имеющихся параметров 472
E. Встроенные шаблонные теги и фильтры 485
Справочник по встроенным тегам 485
Справочник по встроенным фильтрам 499
F. Утилита django-admin 512
Порядок вызова 513
Подкоманды 513
Параметры по умолчанию 524
Дополнительные удобства 525
в. Объекты запроса и ответа 526
Класс HttpRequest 526
Алфавитный указатель 537
Добавить комментарий