1
5

Оцінити

Статті читати 10 хв. 5 6 голосів 171

Поради по старту проекту на Django і Docker

Дана стаття стане в нагоді розробникам-початківцям, які мають досвід розробки, але все ще не до кінця розуміють, що повинно входити в проект.

Тут я зібрав невелику вичавку речей, які роблять на реальних проектах, таких як перевірка якості коду, запуск тестів, додавання пакетного менеджера і докера.

Крім того, стаття буде корисною й більш досвідченим фахівцям, які можуть не знати деякі особливості інструментів.

Створення проекту

Для початку створюємо папку, в якій розмістимо проектні файли.

Після цього встановлюємо Poetry для зберігання пакетів. Перевага Poetry над голим pip полягає в тому, що він створює два файли.

У першому зберігає тільки пакети, які розробник встановлює безпосередньо командою установки. У другому — зафіксовані версії і дочірні бібліотеки, на які не потрібно звертати увагу.

Далі створюємо проект через Джанго команду.

Структура проекту

На даний момент структура буде виглядати наступним чином:

Стандартна структура проекту мені не особливо подобається для подальшої розробки, тому я раджу її трохи змінити таким чином:

Окрема папка під settings потрібна для того, щоб зберігати різні настройки для різного оточення (dev, stage, prod).

Також обов'язково треба додати .gitignore в корінь проекту. Готових файлів .gitignore в інтернеті повно, як приклад: https://github.com/github/gitignore/blob/master/Python.gitignore.
Але не забуваємо додати ігнор файлів вашої IDE.

Тести

Для запуску тестів можна використовувати стандартну команду Django в manage.py.

Або, якщо хочеться, можна встановити додатково pytest, ця бібліотека, так само як і unittest, вміє запускати тести в стилі unittest, але для мене вона має трохи більший функціонал.

Перевірка коду

У кожному хорошому проекті використовують лінтери для перевірки якості коду, я раджу ставити базові:

  • isort
    • Перевірка порядку імпорту модулів

  • prospector
    • Перевірка коду на предмет синтаксичних і логічних помилок

І також хочу звернути вашу увагу на бібліотеку black https://github.com/psf/black.

Вона не перевіряє код, а форматує за регламентом pep8.

Docker

Далі для оптимізації розробки і постачання програмного коду на сервера використовуємо Docker.

Трохи нижче навів два приклади Dockerfile і docker-compose.yml. Немає сенсу перераховувати, що робить кожен рядок, скажу тільки одне — в ports краще завжди вказувати на вхід 127.0.0.1, щоб тільки з локального комп'ютера запити могли летіти в Docker.

Dockerfile

docker-compose.yml

Makefile

І вишенькою на торті я завжди додаю в кожен проект Makefile: https://gist.github.com/valeriiduz/180d1e02af03f21fcd38281720c4543f.

Принадність його полягає в тому, що він дозволяє скоротити довгі команди Докера. При цьому встановлювати його не треба, оскільки він входить в поставку будь-лінукс системи.

Як приклад, щоб запустити Докер контейнери, потрібно прописати наступну команду:

Можна записати цю команду в Makefile:

І далі в консолі можна просто прописувати:

Схожі матеріали

Подпишитесь на рассылку
Компьютерной школы Hillel

Ви отримаєте:

  • Інформацію про корисні галузеві заходи
  • Цікаві статті IT-сфери
  • Новини Комп'ютерної школи Hillel