Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

9

Share

Download to read offline

Полный цикл разработки на Python + Django

Download to read offline

Related Books

Free with a 30 day trial from Scribd

See all

Полный цикл разработки на Python + Django

  1. 1. Разработка на Python+Django От установки окружения до автоматической поставки на продакшин сервер IT Attractor Resourcing CentreАзамат Тохтаев
  2. 2. Содержание 1. Литература и инструменты 2. Установка и настройка окружения для команды разработчиков 3. Разработка стиле TDD 4. Автоматизированное приемочное тестирование 5. Автоматизируем установку на демо и продакшин сервера
  3. 3. Литература • Learn Python The Hard Way - http://learnpythonthehardway.org/ • Django Book - http://www.djangobook.com
  4. 4. Основные инструменты • PyPI — Центральный репозиторий пакетов включающий в себя более 34 000 готовых решений - https://pypi.python.org • virtualenv — создание разных виртуальных окружений для проектов - http://www.virtualenv.org/en/latest/ • pip — установщик пакетов для python - https://pypi.python.org/pypi/pip • Fabric – инструмент для поставки сервер и выполенения административных задач – http://fabfile.org/
  5. 5. Установка и настройка окружения для команды разработчиков Уставнока python > sudo apt-get install python2.7 или для тех кто хочет идти быть на передовой > sudo apt-get install python3
  6. 6. Виртуальное окружение > sudo apt-get install python-setuptools > sudo pip install virtualenv // Создаем пустое виртуальное окружение для проекта > virtualenv --no-site-packages env // Устанавливаем туда pip и easy_install > virtualenv --distribute virtualenv //включение виртуального окружения > source virtualenv/bin/activate //отключение > deactivate
  7. 7. Установка зависимостей > pip install название_пакета // из локальной папки > pip install /путь/до/пакета // из репозитория > pip install git+repo (git+, https+, etc.) //Фиксируем зависимости > pip freeze
  8. 8. Пример файла зависимостей requirements.txt Django==1.5.1 Fabric==1.7.0 Pillow==2.1.0 South==0.8.1 lettuce==0.2.18 selenium==2.34.0 > pip install -r requirements.txt
  9. 9. Создание проекта на Django > pip install django > python django-admin.py startproject carshop > ./manage.py startapp cars
  10. 10. carshop carshop settings.py wsgi.py urls.py cars models.py views.py admin.py forms.py tests.py urls.py manage.py Настройки проекта Файл для запуска на apache сервере Главный файл маршрутизации ссылок Классы моделей Функции и классы действий Админская часть для нашего приложения Классы форм Тесты Маршрутизация ссылок Консольный инструмент для выполнения команд в Django
  11. 11. • Не тестируйте то что уже протестировано • Проверяйте в отдельном тесте одну и только одну функцию • Тесты пишутся для бизнес логики • Модель это не бизнес логика, а её данные > ./manage.py test cars Начинаем с unit-тестов на Django
  12. 12. def testGetCarPrice(): car = self._create_test_car() dealer = self._create_test_dealer() price_calculator = PriceCalculator(car, dealer) price = price_calculator.get_price() self.assertEqual(13450, price) def _create_test_car(): car = Car() car.year = 2002 car.model = “TT” car.brand = “Audi” car.save() return car
  13. 13. Приемочное тестирование Инструмент Lettuce – BDD фреймворк для Python – http://lettuce.it > manage.py harvest Пример Сценарий: Пользователь видит форму банковских реквизитов Допустим пользователь авторизовался в системе И выбрал автомобиль “Bentley” “2013” года выпуска Если нажимат на кнопку “Купить” То видит форму заполнения банковских реквизитов
  14. 14. carshop carshop … cars features cars.feature steps.py … manage.py terrain.py Подготовка окружения для запуска тестов Сценарии тестов Описание шагов
  15. 15. terrain.py
  16. 16. steps.py
  17. 17. Установка на сервер Инструмент • Python Fabric - http://fabfile.org/ > fab –H %HOST% update:demo,1.0.1 carshop carshop cars fabfile.py Инструкции установки
  18. 18. fabfile.py > fab update:demo,1.0.1
  19. 19. Выводы • Virtualenv – Установка и работа с окружением • Django – Реализуем нашу идею • Lettuce – Тестируем в браузере • Fabric – Устанавливаем на сервер
  20. 20. Спасибо за внимание
  • PhilippAlekseev

    Nov. 3, 2017
  • AlexandrKurochka

    Jan. 20, 2016
  • ssuser4369e8

    Jun. 24, 2015
  • ssuser239ac4

    Jun. 10, 2015
  • VDKlykov

    Jan. 20, 2015
  • atner

    Jan. 7, 2015
  • RuslanVasilev1

    Dec. 22, 2014
  • dmitray

    Dec. 6, 2014
  • ssuserfe5f87

    Jul. 1, 2014

Views

Total views

6,164

On Slideshare

0

From embeds

0

Number of embeds

647

Actions

Downloads

104

Shares

0

Comments

0

Likes

9

×