- 1.
Введение в Django
- 1.1.
Что такое среда разработки?
- 1.2.
Шаблон MVC разработки
- 1.3.
История Django
- 1.4.
Как читать эту книгу
- 1.4.1.
Необходимые знания в программировании
- 1.4.2.
Необходимые знания языка Python
- 1.4.3.
Требуемая версия Django
- 1.4.4.
Получение помощи
- 1.5.
Стиль исходного кода
- 1.5.1.
Шаблоны
- 1.5.2.
Представления
- 1.5.3.
Модели
- 2.
Начинаем
- 2.1.
Установка Python
- 2.1.1.
Версии Python
- 2.1.2.
Установка
- 2.2.
Установка Django
- 2.2.1.
Установка официального релиза
- 2.2.2.
Установка версии из транка
- 2.3.
Проверка установки Django
- 2.4.
Настройка базы данных
- 2.4.1.
Использование Django с PostgreSQL
- 2.4.2.
Использование Django с SQLite 3
- 2.4.3.
Использование Django с MySQL
- 2.4.4.
Использование Django без базы данных
- 2.5.
Новый проект
- 2.5.1.
Запуск сервера разработки
- 2.6.
Отладка
- 2.6.1.
Журналирование на консоль сервера разработки
- 2.6.2.
Использование отладчика
- 2.6.3.
Обработка ошибок в «боевом» режиме
- 2.6.4.
Ещё о полезном ПО
- 2.6.5.
Тестовый клиент
- 2.7.
Быстрый старт
- 3.
Представления и привязки URL
- 3.1.
Ваша первая страница на Django: Привет, Мир
- 3.1.1.
Ваше первое представление
- 3.1.2.
Ваша первая привязка URL
- 3.1.3.
Кратко об ошибках 404
- 3.1.4.
Кратко о корне сайта
- 3.2.
Как Django обрабатывает запрос
- 3.3.
Ваше второе представление: Динамическое содержимое
- 3.4.
Схема URL и свободное связывание
- 3.5.
Ваше третье представление: Динамические URL
- 3.6.
Красивые страницы об ошибке
- 4.
Шаблоны
- 4.1.
Основы шаблонной системы
- 4.2.
Использование шаблонной системы
- 4.2.1.
Создание шаблонных объектов
- 4.2.2.
Обработка шаблона
- 4.2.3.
Множество контекстов и единственный шаблон
- 4.2.4.
Поиск контекстной переменной
- 4.2.5.
Играем с контекстными объектами
- 4.3.
Основные шаблонные теги и фильтры
- 4.3.1.
Теги
- 4.3.2.
Фильтры
- 4.4.
Философия и ограничения
- 4.5.
Использование шаблонов в представлениях
- 4.6.
Загрузка шаблонов
- 4.6.1.
render_to_response()
- 4.6.2.
Трюк с locals()
- 4.6.3.
Подкаталоги в get_template()
- 4.6.4.
Шаблонный тег include
- 4.7.
Наследование шаблонов
- 5.
Модели
- 5.1.
«Тупой» способ выполнения запросов в представлениях
- 5.2.
Методика MTV (или MVC)
- 5.3.
Настройка базы данных
- 5.4.
Ваше первое приложение
- 5.5.
Определение моделей в Python
- 5.6.
Ваша первая модель
- 5.7.
Установка модели
- 5.8.
Доступ к данным
- 5.9.
Добавляем строковое представление модели
- 5.10.
Вставка и изменение данных
- 5.11.
Выборка объектов
- 5.11.1.
Фильтрация данных
- 5.11.2.
Получение одного объекта
- 5.11.3.
Сортировка данных
- 5.11.4.
Формирование цепочки запросов
- 5.11.5.
Выборка части результатов
- 5.11.6.
Изменение множества объектов одним запросом
- 5.12.
Удаление объектов
- 6.
Интерфейс администратора Django
- 6.1.
Пакеты django.contrib
- 6.2.
Активация интерфейса администратора
- 6.3.
Использование интерфейса администратора
- 6.4.
Добавление ваших моделей на интерфейс администратора
- 6.5.
Как работает интерфейс администратора
- 6.6.
Делаем поля необязательными
- 6.6.1.
Необязательные числовые поля и поля с датой
- 6.7.
Настройка меток полей
- 6.8.
Собственные классы ModelAdmin
- 6.8.1.
Настройка списка редактирования
- 6.8.2.
Настройка форм редактирования
- 6.9.
Пользователи, группы и права
- 6.10.
Когда и почему надо использовать интерфейс администратора, а
когда не надо
- 6.11.
Что дальше?
- 7.
Формы
- 7.1.
Получение данных из объекта запроса
- 7.1.1.
Информация об URL
- 7.1.2.
Остальная информация о запросе
- 7.1.3.
Информация о переданных данных
- 7.2.
Пример обработки простой формы
- 7.3.
Усовершенствование примера обработки простой формы
- 7.4.
Простая проверка данных
- 7.5.
Создание формы для контактной информации
- 7.6.
Ваш первый класс формы
- 7.7.
Используем формы в представлениях
- 7.8.
Изменения способа отображения полей
- 7.9.
Установка максимального размера поля
- 7.10.
Установка начальных значений
- 7.11.
Собственные правила проверки
- 7.12.
Определение меток
- 7.13.
Настройка дизайна формы
- 7.14.
Что дальше?
- 8.
Базовые представления
- 8.1.
Использование базовых представлений
- 8.2.
Базовые представления объектов
- 8.3.
Расширение базовых представлений
- 8.3.1.
Создаём дружественные контексты для шаблонов
- 8.3.2.
Добавление дополнительного контекста
- 8.3.3.
Просмотр поднабора объектов
- 8.3.4.
Сложная фильтрация с помощью функций-обработчиков
- 8.3.5.
Выполнение дополнительной работы
- 9.
Расширения для шаблонной системы
- 9.1.
Обзор языка шаблонов
- 9.2.
Процессоры RequestContext и Context
- 9.2.1.
Процессор django.core.context_processors.auth
- 9.2.2.
django.core.context_processors.debug
- 9.2.3.
django.core.context_processors.i18n
- 9.2.4.
django.core.context_processors.request
- 9.2.5.
Как написать свой процессор?
- 9.3.
Загрузка шаблонов
- 9.4.
Расширение шаблонной системы
- 9.4.1.
Создание шаблонной библиотеки
- 9.4.2.
Разработка своих шаблонных фильтров
- 9.4.3.
Разработка своих шаблонных тегов
- 9.4.4.
Сокращения для простых тегов
- 9.4.5.
Теги включения
- 9.5.
Реализация своих шаблонных загрузчиков
- 9.6.
Использование встроенного шаблонного справочника
- 9.7.
Работа в автономном режиме
- 10.
Генерация данных, отличных от HTML
- 10.1.
Основы: представление и MIME-типы
- 10.2.
Генерация CSV
- 10.3.
Генерация PDF
- 10.3.1.
Установка ReportLab
- 10.3.2.
Создание представления
- 10.3.3.
Сложные PDF документы
- 10.4.
Другие возможности
- 10.5.
Средства трансляции
- 10.5.1.
Инициализация
- 10.5.2.
Простая трансляция
- 10.5.3.
Более сложная трансляция
- 10.5.4.
Указание типа трансляции
- 10.5.5.
Вложения
- 10.5.6.
Язык
- 10.5.7.
URL
- 10.5.8.
Одновременная трансляция Atom и RSS
- 10.6.
Среда генерации карты сайта
- 10.6.1.
Установка
- 10.6.2.
Активация
- 10.6.3.
Классы
- 10.6.4.
Полезное
- 10.6.5.
Создание индекса для карты сайта
- 10.6.6.
Уведомление Google
- 11.
Сессии, пользователи и регистрация
- 11.1.
Cookie
- 11.1.1.
Получение и установка
- 11.1.2.
Всеобщее счастье
- 11.2.
Сессии
- 11.2.1.
Активация
- 11.2.2.
Использование в функциях представления
- 11.2.3.
Установка тестовых cookie
- 11.2.4.
Использование сессий вне функций представления
- 11.2.5.
Когда сессии сохраняются
- 11.2.6.
Время жизни сессий
- 11.2.7.
Другие параметры сессии
- 11.3.
Аутентификация пользователей
- 11.3.1.
Активация
- 11.3.2.
Использование объекта User
- 11.3.3.
Авторизация и выход
- 11.3.4.
Ограничение доступа авторизованным пользователям
- 11.3.5.
Ограничение доступа определённым пользователям
- 11.3.6.
Управление пользователями, правами и группами
- 11.3.7.
Использование данных аутентификации в шаблонах
- 11.4.
Остальное: права, группы, сообщения и профайлы
- 11.4.1.
Права
- 11.4.2.
Группы
- 11.4.3.
Сообщения
- 11.4.4.
Профайлы
- 12.
Кэширование
- 12.1.
Настройка кэша
- 12.1.1.
Memcached
- 12.1.2.
Кэширование в базу данных
- 12.1.3.
Кэширование на файловую систему
- 12.1.4.
Кэширование в оперативную память
- 12.1.5.
Простое кэширование (для разработки)
- 12.1.6.
Фиктивное кэширование (для разработки)
- 12.1.7.
Аргументы CACHE_BACKEND
- 12.2.
Кэширование отдельного сайта
- 12.3.
Кэширование отдельного представления
- 12.3.1.
Определение кэша для отдельного представления в файле со
схемой URL
- 12.4.
API низкого уровня
- 12.5.
Кэши верхнего уровня
- 12.5.1.
Использование заголовков Vary
- 12.5.2.
Другие заголовки для механизма кэширования
- 12.6.
Оптимизация
- 12.7.
Порядок в MIDDLEWARE_CLASSES
- 13.
Средства от других разработчиков
- 13.1.
Стандартная библиотека Django
- 13.1.1.
Среда управления комментариями
- 13.2.
Сайты
- 13.2.1.
Сценарий 1: Использование данных на множестве сайтов
- 13.2.2.
Сценарий 2: Хранение информации о сайте в одном месте
- 13.2.3.
Как это использовать
- 13.2.4.
Возможности
- 13.2.5.
CurrentSiteManager
- 13.2.6.
Как Django использует среду управления сайтами
- 13.3.
Статические страницы
- 13.3.1.
Использование
- 13.3.2.
Добавление, изменение и удаление
- 13.3.3.
Использование шаблонов
- 13.4.
Перенаправления
- 13.4.1.
Использование
- 13.4.2.
Добавление, изменение и удаление
- 13.5.
Защита от CSRF
- 13.5.1.
Простой пример
- 13.5.2.
Более сложный пример
- 13.5.3.
Предотвращение
- 13.6.
Очеловечивание данных
- 13.6.1.
apnumber
- 13.6.2.
intcomma
- 13.6.3.
intword
- 13.6.4.
ordinal
- 13.7.
Фильтры разметки
- 14.
Компоненты
- 14.1.
Что такое компоненты?
- 14.2.
Установка
- 14.3.
Методы
- 14.3.1.
Конструктор
- 14.3.2.
Препроцессор запроса
- 14.3.3.
Препроцессор представления
- 14.3.4.
Постпроцессор отклика
- 14.3.5.
Постпроцессор исключения
- 14.4.
Встроенные компоненты
- 14.4.1.
Компонент поддержки аутентификации
- 14.4.2.
Стандартный компонент
- 14.4.3.
Компонент компрессии
- 14.4.4.
Компонент условного GET
- 14.4.5.
Компонент поддержки обратного прокси
- 14.4.6.
Компонент поддержки сессий
- 14.4.7.
Компонент для кэширования сайта
- 14.4.8.
Компонент поддержки транзакций
- 14.4.9.
Компонент X-View
- 15.
Интеграция с унаследованным
- 15.1.
Интеграция с унаследованной базой данных
- 15.1.1.
Использование inspectdb
- 15.1.2.
Очистка сгенерированных моделей
- 15.2.
Интеграция с системой аутентификации
- 15.2.1.
Описание источников аутентификации
- 15.2.2.
Реализация источников аутентификации
- 15.3.
Интеграция с унаследованными веб приложениями
- 16.
Расширение интерфейса администратора
- 16.1.
Дзен администрирования
- 16.1.1.
Доверенные пользователи ...
- 16.1.2.
... редактируют ...
- 16.1.3.
... структурированную информацию
- 16.1.4.
Full Stop
- 16.2.
Настройка шаблонов интерфейса
- 16.2.1.
Настройка шаблонов для отдельных моделей
- 16.2.2.
Свой JavaScript
- 16.3.
Создание своих представлений
- 16.4.
Переопределение встроенных представлений
- 17.
Интернационализация
- 17.1.
Определение переводимых строк в коде
- 17.1.1.
Стандартные функции для перевода
- 17.1.2.
Пометка строк для позднего перевода
- 17.1.3.
Отложенный перевод
- 17.1.4.
Образование множественного числа
- 17.2.
Определение переводимых строк в шаблоне
- 17.3.
Создание файлов с переводами
- 17.3.1.
Создание файлов с сообщениями
- 17.3.2.
Компилирования файлов сообщений
- 17.4.
Как Django получает языковые настройки
- 17.5.
Представление set_language
- 17.6.
Использование переводов в ваших проектах
- 17.7.
Переводы и JavaScript
- 17.7.1.
Представление javascript_catalog
- 17.7.2.
Использование каталога с переводами
- 17.7.3.
Создание каталога
- 17.8.
Замечание для тех, кто уже работал с gettext
- 18.
Безопасность
- 18.1.
Тема безопасности в вебе
- 18.2.
Внедрение SQL
- 18.2.1.
Решение
- 18.3.
Межсайтовый скриптинг (XSS)
- 18.3.1.
Решение
- 18.4.
Подделка HTTP запросов
- 18.5.
Подделка сессий
- 18.5.1.
Решение
- 18.6.
Внедрение E-mail заголовка
- 18.6.1.
Решение
- 18.7.
Directory Traversal
- 18.7.1.
Решение
- 18.8.
Открытые сообщения об ошибках
- 18.8.1.
Решение
- 18.9.
Заключительное слово о безопасности
- 19.
Развёртывание Django
- 19.1.
Ничего общего
- 19.2.
Что предпочитают разработчики Django?
- 19.3.
Использование Django с Apache и mod_python
- 19.3.1.
Базовые настройки
- 19.3.2.
Несколько проектов Django на одном сервере Apache
- 19.3.3.
Запуск тестового сервера под mod_python
- 19.3.4.
Работа с Django и статическим контентом на одном сервере Apache
- 19.3.5.
Обработка ошибок
- 19.3.6.
Устранение ошибок, приводящих к падению Apache
- 19.4.
Использование Django с Apache и mod_wsgi
- 19.4.1.
Поддерживаемые версии Apache
- 19.4.2.
Поддерживаемые версии Python
- 19.4.3.
Установка модуля
- 19.4.4.
Интерфейс к модулю
- 19.4.5.
Конфигурация сервера
- A.
Учебные примеры
- B.
Справочник определений модели
- C.
Справочник по API взаимодействия с базой данных
- D.
Справочник по базовым представлениям
- E.
Параметры конфигурации
- F.
Встроенные шаблонные теги и фильтры
- F.1.
Справочник по стандартным тегам
- F.1.1.
autoescape
- F.1.2.
block
- F.1.3.
comment
- F.1.4.
csrf_token
- F.1.5.
cycle
- F.1.6.
debug
- F.1.7.
extends
- F.1.8.
filter
- F.1.9.
firstof
- F.1.10.
for
- F.1.11.
for ... empty
- F.1.12.
if
- F.1.13.
Фильтры
- F.1.14.
Составные выражения
- F.1.15.
ifchanged
- F.1.16.
ifequal
- F.1.17.
ifnotequal
- F.1.18.
include
- F.1.19.
load
- F.1.20.
now
- F.1.21.
regroup
- F.1.22.
spaceless
- F.1.23.
ssi
- F.1.24.
templatetag
- F.1.25.
url
- F.1.26.
widthratio
- F.1.27.
with
- F.2.
Справочник по стандартным фильтрам
- F.2.1.
add
- F.2.2.
addslashes
- F.2.3.
capfirst
- F.2.4.
center
- F.2.5.
cut
- F.2.6.
date
- F.2.7.
default
- F.2.8.
default_if_none
- F.2.9.
dictsort
- F.2.10.
dictsortreversed
- F.2.11.
divisibleby
- F.2.12.
escape
- F.2.13.
escapejs
- F.2.14.
filesizeformat
- F.2.15.
first
- F.2.16.
fix_ampersands
- F.2.17.
floatformat
- F.2.18.
force_escape
- F.2.19.
get_digit
- F.2.20.
iriencode
- F.2.21.
join
- F.2.22.
last
- F.2.23.
length
- F.2.24.
length_is
- F.2.25.
linebreaks
- F.2.26.
linebreaksbr
- F.2.27.
linenumbers
- F.2.28.
ljust
- F.2.29.
lower
- F.2.30.
make_list
- F.2.31.
phone2numeric
- F.2.32.
pluralize
- F.2.33.
pprint
- F.2.34.
random
- F.2.35.
removetags
- F.2.36.
rjust
- F.2.37.
safe
- F.2.38.
safeseq
- F.2.39.
slice
- F.2.40.
slugify
- F.2.41.
stringformat
- F.2.42.
striptags
- F.2.43.
time
- F.2.44.
timesince
- F.2.45.
timeuntil
- F.2.46.
title
- F.2.47.
truncatewords
- F.2.48.
truncatewords_html
- F.2.49.
unordered_list
- F.2.50.
upper
- F.2.51.
urlencode
- F.2.52.
urlize
- F.2.53.
urlizetrunc
- F.2.54.
wordcount
- F.2.55.
wordwrap
- F.2.56.
yesno
- F.3.
Дополнительные библиотеки тегов и фильтров
- F.3.1.
django.contrib.humanize
- F.3.2.
django.contrib.markup
- F.3.3.
django.contrib.webdesign
- G.
Утилита django-admin
- H.
Объекты HttpRequest и HttpResponse
Оригинальный документ находится на http://www.djangobook.com/. Данный перевод сконцентрирован
на второй версии DjangoBook и постоянно обновляется. Замеченные
неточности перевода или терминологии прошу высылать мне.
Информация об авторах оригинальной книги, лицензировании и обо
всём остальном расположена там же.
Последнее обновление произведено __LAST_UPDATE__.
<xi:include></xi:include>