Я не могу комментировать, насколько широко это принято или если это правильный путь, лично я следую структуре проекта, изложенной в книге Two Scoops of Django . Аналогичная настройка описана здесь https://django -project-skeleton.readthedocs.io / en / latest / structure.html как таковой:
[projectname]/ <- project root
├── [projectname]/ <- Django root
│ ├── __init__.py
│ ├── settings/
│ │ ├── common.py
│ │ ├── development.py
│ │ ├── i18n.py
│ │ ├── __init__.py
│ │ └── production.py
│ ├── urls.py
│ └── wsgi.py
├── apps/
│ └── __init__.py
├── configs/
│ ├── apache2_vhost.sample
│ └── README
├── doc/
│ ├── Makefile
│ └── source/
│ └── *snap*
├── manage.py
├── README.rst
├── run/
│ ├── media/
│ │ └── README
│ ├── README
│ └── static/
│ └── README
├── static/
│ └── README
└── templates/
├── base.html
├── core
│ └── login.html
└── README
Если я хочу создать объекты и функции, доступные для всех приложений, я создаю модуль utils
на уровне приложений. Если я создаю служебные функции и объекты, специфичные для приложения, я помещаю модуль utils
в каталог приложения. Просто личные предпочтения.
Надеюсь, это поможет.