Django: инструкция по применению KharkivPy #1 23 ноября 2011 Колодяжный Иван 1 из 21
Django: инструкция по не применению KharkivPy #1 23 ноября 2011 Колодяжный Иван 2 из 21
Существует 2 способа использовать Django KharkivPy #13 из 22
Алгоритм работы с Django Пункт #1. Берем Django Пункт #2. Берем напильник KharkivPy #14 из 22
Алгоритм работы с Django Пункт #1. Берем Django Пункт #2. Берем напильник Пункт #n. Пользуемcя и радуемся жизни KharkivPy #13 из 22
Алгоритм работы с Django (ver.2) Пункт #1. Берем Django Пункт #2. Берем напильник … KharkivPy #14 из 22
Алгоритм работы с Django (ver.2) Пункт #1. Берем Django Пункт #2. Берем напильник … Пункт #n. Выбрасываем Django. KharkivPy #14 из 22
Алгоритм работы с Django (ver.2) Пункт #1. Берем Django Пункт #2. Берем напильник … Пункт #n. Выбрасываем Django. … Пункт #m-1. Находим подходящее решение Пункт #m. Пользуемcя и радуемся жизни KharkivPy #14 из 22
Алгоритм работы с Django (ver.2.1) Пункт #1. Помним о Django Пункт #2. Понимаем что он нам не подходит Пункт #3. Находим подходящее решение Пункт #3. Пользуемcя и радуемся жизни KharkivPy #15 из 22
Когда нам подходит Django Нужен опыт с Django Нужно быстро сделать сайт с админкой Есть хорошее готовое приложение/модуль для Django Стандартного ORM вполне достаточно Какие-то из модулей Django очень хорошо подходят для текущей задачи Нужно сделать что-то очень быстро и нет опыта с другими фреймворками. KharkivPy #16 из 22
Когда нам подходит Django Создание CMS Создать приложение на основе готового KharkivPy #17 из 22
Создание CMS Admin site Authentication Comments Flat pages Pagination Redirects Site map Static files Syndication feeds Validators KharkivPy #18 из 22
Когда нам не подходит Django Нет взаимодействия с базой данных Отсутствует presentation layer Замена большей части стандартных компонентов Использование NoSQL, GAE KharkivPy #19 из 22
Веб приложение без доступа к БД KharkivPy #110 из 22
Веб приложение без доступа к БД Удаляем models.py Реализовываем доступ к данным (REST, чтение из файлов и т.д) Забываем про ModelForms KharkivPy #110 из 22
Веб приложение без доступа к БД Стандартная аутентификация/авториз ация не подходит Вслед за этим пишем свою админку KharkivPy #111 из 22
Веб приложение без доступа к БД Стандартная аутентификация/авториз ация не подходит Вслед за этим пишем свою админку KharkivPy #111 из 22
Веб приложение без доступа к БД Выбрасываем django Берем небольшой веб-фреймворк (например, flask) Пишем нужную нам логику Не думаем о том, что что-либо в используемом фреймворке нам нельзя использовать KharkivPy #112 из 22
Веб приложение без доступа к БД Нет ненужно когда Размер приложение, как правило, становится меньше KharkivPy #113 из 22
Веб приложение без доступа к БД Нет ненужно когда Размер приложение, как правило, становится меньше KharkivPy #113 из 22
Отсутствует GUI (REST-сервис, COMET-сервер) Шаблоны не нужны «Тяжелые» запросы плохо подходят для COMET Многопоточность «из коробки» - использование threading Non-blocking I/O? KharkivPy #114 из 22
Отсутствует GUI (REST-сервис, COMET-сервер) Использование инструментов, предназначенных для таких задач KharkivPy #115 из 22
Отсутствует GUI (REST-сервис, COMET-сервер) Использование инструментов, предназначенных для таких задач KharkivPy #115 из 22
Замена большей части стандартных компонентов Выбросить стандартный ORM Использовать другой template engine Попытаться это все интегрировать и родную инфраструктуры (form views, admin site) KharkivPy #116 из 22
Замена большей части стандартных компонентов Выбросить стандартный ORM Использовать другой template engine Попытаться это все интегрировать и родную инфраструктуры (form views, admin site) KharkivPy #116 из 22
Принцип Парето 20/80 – 80% времени переписывается стандартный функционал Замена большей части стандартных компонентов KharkivPy #117 из 22
Замена большей части стандартных компонентов Принцип Парето 20/80 – 80% времени переписывается стандартный функционал KharkivPy #117 из 22
Замена большей части стандартных компонентов Принцип Парето 20/80 – 80% времени переписывается стандартный функционал – Еще 80% времени - исправление багов KharkivPy #117 из 22
Замена большей части стандартных компонентов Принцип Парето 20/80 – 80% пишем сами – 20% есть в Django KharkivPy #118 из 22
Замена большей части стандартных компонентов Принцип Парето 20/80 – 80% пишем сами – 20% есть в Django Зачем нам Django? KharkivPy #118 из 22
Использование NoSQL Используем стандартный API для ORM Используем django nonrel Используем почти всю django инфраструктуру но: - помним про join - готовимся делать патчи для django nonrel KharkivPy #119 из 22
Использование NoSQL Используем модуль для работы с нужной NoSQL БД Отказываемся от всей Django инфраструктуры Задумываемся о целесообразности использования Django KharkivPy #120 из 22
KharkivPy #121 из 22
Спасибо Skype: e0ne-user Blog: KharkivPy #122 из 22 Twitter: