DjangoBook



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>
n
Next Page
p
Previos Page
h
Book Home
u
Go Up One Level
?
Press ? for Help
esc
Hide Help
Your Ad Here