Общее соглашение в средах MVC (например, Django) - размещать как можно больше логики в ваших моделях.Это служит многим целям:
- Это связывает вашу логику с вашими данными (хорошо).
- Позволяет легко найти одно место в коде для всех методов манипулирования данными.
- Позволяет запускать методы на ваших моделях напрямую, не полагаясь на представления (упрощает тестирование).
- Дает вам действительно «чистый» API для использования в ваших шаблонах, например:
{{ object.price_with_tax }}
, в отличие от рендеринга разных представлений для разных поведений.
Для макета вашего проекта вы должны попытаться сохранить любой код, работающий с моделями, в файле models.py и избегать использованияactions.py
или helpers.py
, если вам действительно это не нужно.Если у вас есть большое количество кода, который не подходит для вашего файла models.py (может быть, вы реализуете алгоритмы или что-то в этом роде), соглашение заключается в использовании helpers.py
.
.больше вещей, которые вы можете сделать позже, чтобы сохранить иерархию приложений в чистоте и организованности, но это основной смысл всего этого.