Подробнее о книге про PYTHON и DJANGO




СОДЕРЖАНИЕ:

Введение.
Принятые сокращения.

  • Инсталляция и настройка рабочего окружения. Сборка и настройка среды программирования под Windows. Сборка и настройка среды программирования под Linux.
  • Краткий обзор синтаксиса языка Python. Соглашения языка.Комментарии. «Утиная» типизация. Константы. Переменные. Операторы. Условные конструкции и циклы. Функции. Лямбда – функции.
  • Строки, списки, кортежи… Работа со строками. Работа со списками. Работа с кортежами. Работа со словарями. Работа с диапазонами. Работа с множествами. Зачем в языке Python такое большое количество перечислимых типов? Работа с файлами. Работа с датой и временем.
  • Объекты в Python. Инкапсуляция. Наследование. Полиморфизм. Статические элементы класса. Декораторы.
  • Модули и пакеты.
    Практика. Сборка собственного дистрибутивного пакета.
  • Фреймворк Django. Общее описание.
  • Инсталляция Django. Инсталляция под Linux. Использование PIP. Инсталляция под Windows.
  • Общая архитектура программы на Django.
  • Модель данных.
    Практика. Модель данных демонстрационного электронного магазина.
  • Отображение реляционных отношений. Реализация отношения один-ко-многим и многие-к-одному. Реализация отношения многие-ко-многим.
    Практика. Задание отношений один-ко-многим и многие-ко-многим.
    Практика. Заполнение базы тестовыми данными.
  • Админка Django.
    Практика. Добавление админки к проекту.
  • Диспетчер адресов приложения – файл url.py и представления (view).
  • Шаблоны в Django. Механизм наследования шаблонов. Подключение собственных файлов .css и .js. Типовая структура шаблонов веб-проекта с учетом механизма наследования.
  • Подробности о механизме рендеринга шаблонов.
    Практика. Создание интерфейса пользователя. Создание базового шаблона. Заполнение таблиц тестовыми данными. Создание шаблона для вывода таблицы категорий.
  • Шаблоны и обработчики форм.
    Практика. Форма подачи заявки на покупку.
  • Фильтры и прямые запросы в базу.
    Практика. Разработка товарного фильтра. Демонстрация использования прямых запросов в базу. Корзина покупателя.
  • Вспомогательные объекты Q.
  • Вопросы отладки приложений Django. Использование логов. Отладчик Pdb. Отладчик debug-toolbar.
  • Запуск приложения Python на боевом WEB – сервере.
  • Приложение 1. Инсталляция MySQL – сервера на Ubuntu.
  • Приложение 2. Инсталляция HeidiSQL и Wine.
  • Приложение 3. Инсталляция VMware под Windows.
  • Приложение 4. Мнемокарты. Краткая справка.
  • Заключение.
  • Полезные ссылки.
  • Исходные коды примеров.
  • Алфавитный указатель.


Введение.

Уважаемый читатель!
Книга, которую вы держите сейчас в руках, ни в коем случае не претендует на фундаментальность и полный охват темы применения языка Python в веб-приложениях. Однако, опираясь на свой обширный программистский и преподавательский опыт, я постарался выделить основные моменты, важные для понимания человеком, впервые знакомящимся с этой технологией и обобщить их здесь в наиболее компактном и удобном для восприятия виде.

Замысел этой книги заключается в адаптации и систематизации некоторого минимума практических знаний, который необходим для быстрого вхождения в тему человека, никогда ранее с этой технологией не сталкивавшегося и применения этих знаний для успешной дальнейшей разработки приложений на таких распространенных библиотеках как Django или, к примеру, Pyramid. Для иллюстративных примеров я буду пользоваться средой разработки Python 3.4. Эту оговорку я делаю специально, поскольку между версиями интерпретаторов Python существует ограниченная обратная совместимость.

Большинство глав состоят из двух частей. В первой части я поясняю общие теоретические положения по какому – либо вопросу. Во второй части я даю практический пример реализации того, что обсуждалось в первой части главы. Я придерживаюсь мнения, что по-настоящему научиться чему – либо можно только на практике, поэтому все практические примеры к главам являются пошаговой инструкцией для разработки каждого конкретного программного модуля. А все вместе эти примеры объединены разработкой конкретного проекта электронного магазина.

То есть, если вы, уважаемые читатели, будете по мере прочтения каждой главы выполнять все практические части, то к концу чтения книги у вас будет работающий проект веб-приложения с полным пониманием, как все там внутри устроено и работает. Однако книга не ограничивает вас в способах восприятия материала. Вы можете читать её выборочно, осваивая только те места, которые вам не понятны, а в качестве рабочих примеров брать мои исходники этого проекта, которые я подготовил к каждой главе. Во главу угла я поставил практику. Это означает, что прежде чем включать в книгу ту или иную особенность, описанную в документации, я проверял её работоспособность на тестовой системе, и не включал её в описание, если её поведение отличалось от задокументированного или если на практике это не работало. Поэтому здесь описаны только проверенные рецепты. Да и сам тестовый проект базируется на реально работающих в сети прототипах. Как практикующий программист, я сам не раз сталкивался с ситуацией, когда та или иная заманчивая «фишка», описанная в документации и широко разрекламированная, на самом деле или не работает, или работает совсем не так, как описывалось в документации. В этих случаях зачастую приходится тратить лишнее время и силы на изобретение «костылей». Поэтому в условиях реальной коммерческой разработки очень важно понимать, какой код уже хорошо опробован и надежно работает, а что все еще остается «сырым» и включение чего в коммерческий проект принесет больше вреда, чем пользы.

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

 Прочитав эту книгу, вы получите:

  - подробные пошаговые инструкции для полной настройки рабочего окружения веб – 
    программиста на Python и Django.
  - исчерпывающее, хотя и не энциклопедическое описание языка Python, и фреймворка 
    Django, достаточное для начала самостоятельной  квалифицированной работы с 
    использованием этих технологий.
  - мнемокарты, обобщающие основные сведения, изложенные в некоторых главах книги.  
    Предназначены для систематизации и компактного обобщения материала. Будут 
    полезны для тех, кто планирует сдавать по этой технологии экзамен.
  - ссылки для скачивания необходимого программного обеспечения, в том числе исходные 
    коды каркаса электронного магазина, построение которого пошагово обсуждается в  
    данной книге.
  - готовый каркас веб-приложения, который вы без труда сможете расширить и заточить 
    под ваши конкретные нужды.

И все это без лишней воды, без «растекания мыслию по древу», - только то, что действительно необходимо практикующему разработчику. Документация по Python и Django велика и неисчерпаема, а практичных примеров в ней на удивление мало. Если у вас нет возможности тратить кучу времени на это «увлекательное» чтиво, а потом еще долгие часы методом проб и ошибок заниматься выяснением правильного, реально работающего синтаксиса, то эта книжка для вас.


Заключение.

Я постарался написать книгу, которую я сам хотел бы иметь в то время, когда я только начинал разбираться с технологиями Python и Django. В Интернете присутствует очень много статей и различных материалов по этой тематике, но если внимательно присмотреться, то большинство статей по созданию сайтов на Django являются вариациями одного и того же примера из документации о создании простейшего блога. При этом выпадают из рассмотрения множество практических нюансов при создании сайтов другого типа, например, тех же электронных магазинов.

Кроме того, практические примеры, которыми делятся в Интернете опытные программисты, обычно слишком обрывочны, по ним трудно представить общую структуру проекта, и как взаимосвязаны его отдельные части между собой. Иногда при чтении такой заметки, хочется спросить у автора: «Хорошо, общая идея понятна, но КАК КОНКРЕТНО ты это сделал?». Начинающим программистам, прежде всего, важно разобраться в общих принципах работы той или иной технологии, как объединить разрозненные части в общую структуру, как заставить это все работать совместно! По своему опыту знаю, что ответы именно на эти специфические вопросы в Интернете найти трудно. Но это особенность не только Интернета. Многие авторы книг пытаются представить читателям как можно больше вариантов решения различных частных проблем, забывая об общей картине.

Книжка становится сборником рецептов решения мелких частных проблем по какой либо технологии, но научится самой этой технологии с нуля по такой литературе весьма затруднительно. Частично это происходит из – за проблемы больших исходников. Исходные тексты реальных проектов достаточно объемные и впечатывать их целиком в книжку не всегда представляется целесообразным. Не все авторы имеют возможность и время для разработки компактного тестового проекта, который пояснял бы все необходимые концепции, давал бы целостную картину и при этом не перегружал бы читателя излишними объемами исходных кодов. Я попытался сделать именно такой тестовый проект и детально описать его в этой книге.

С одной стороны он максимально приближен к «боевым» условиям, с другой стороны, я освободил его от множества деталей, затрудняющих понимание основных концепций. Я всегда считал и продолжаю считать, что учится новым технологиям лучше всего на практике, на реальном проекте, но хорошо откомментированном и очищенном от несущественной шелухи. Насколько мне это удалось решать вам, уважаемые читатели.

Стоимость книги 460 руб. Для покупки книги не забудьте указать свой емайл в поле комментария. После проверки модератором на этот емайл мы вышлем экземпляр книги в виде электронного архива (размер архива 11.43 Мб).