python_django_and_otherPP.pptx
- Количество слайдов: 48
Python, Django и все такое.
О Python Язык общего назначения Зрелый, первый релиз в 1991 году Интерпретируемый, кроссплатформенный Динамическая типизация Мультипарадигменный Множество реализация CPython, Jytone, Py. Py, etc. . . Испытал влияние Lisp, Tcl, Smalltalk, Java, C Повлиял на Ruby, Groovy, Coffee. Script Огромное комюнити
Кто использует Python? Linux/Unix системы (заменил Perl) You. Tube Dropbox Instagram Open. Stack EVE Online World of Tanks
Особенности языка Четкая философия «The Zen of Python» Все есть объект! Синтаксис основанный на отступах Нету спецификации (CPython как эталон) PEP 8 Лаконичный синтаксис (не нужно бороться с языком)
Синтаксис Hello world Простейшая функция Присвоение Класс
Структуры данных Кортеж (tuple) Словари (dict) Списки (list)
Срезы списков Строки
Выражения Условия Цикл While Цикл For
Исключения Создаем, возбуждаем Ловим
Сахарок Присвоение с условием Генератор Итератор
Сахарок Встроенный генератор
Сахарок Упаковка параметров И в обратную сторону
Замыкания
Декоратор Применяем сахарок
Классы Создание объекта и приватные атрибуты
Синглтон
Дескрипторы данных Класс с атрибутом А где геттеры и сеттеры?
Дескрипторы данных Исправляем ситуацию
Дескрипторы данных Присластим
Перегрузка операторов Перегружаем сравнение и сложение
Импорты, модули и пакеты Пакет Импорт компонентов и пакета Содержимое файла __init__. py в пакете admin
Python 2. 7 vs Python 3. 4 Python 2. 7 пока быстрее Python 3. 4 все строки в юникоде В Не все библиотеки импортированы на Python 3. 4 Поддержка Python 2. 7 продлена до 2020 г
Django
Django u. WSGI фреймворк Почти MVC (MVT) Поддерживает Python 2 и Python 3 Куча батареек Отличная документация Много книг Огромное комюнити
Кто использует? Dropbox Disqus Instagram Pinterest Bitbucket NASA Wargaming. net
Простейшее u. WSGI приложение
Создаем блог Инициализация прокта # django-admin. py startproject megablog Структура проекта Создание приложения # cd megablog # python manage. py startapp blog Структура приложения
Создаем модель
Выполняем миграцию Настраиваем бекенд settings. py Выполняем миграцию # python manage. py syncdb
Подключаем админку Запускаем тестовый сервер # python manage. py runserver
Админка
Создаем запись в блог
Views Выводим список записей в нашем блоге Содержимое views. py Содержимое urls. py
Templates Базовый шаблон
Templates Выводим список записей
Результат
View для записи views. py urls. py
Результат
Формы forms. py
views Изменения в views. py
Рендерим форму Изменения в шаблоне
Результат
Class Based Views Было
Class Based Views Стало
Кусок реального проекта
ORM Python выражение >>> Comment. objects. filter(article__published=True) Сгенерированный SQL запрос SELECT "blog_comment". "id", "blog_comment". "article_id", "blog_comment". "rate", "blog_co
Средства масштабирования Выполнение запросов в БД только когда данные реально нужны Кэш (File, db, memcached) DB роутер. Репликация, партиционирование, шардинг
Python, Django и все такое. Виталий Кузнецов email: Veta. Lkrot@gmail. com skype: vetal_krot


