Где разместить простые объекты Python в проекте Django? - PullRequest
0 голосов
/ 02 января 2019

У меня обычно есть простые объекты Python в моем проекте Django, которые имеют определенные обязанности, такие как наблюдатели, объекты стратегии, фабрики и т. Д. Где я должен разместить их для более организованной файловой структуры?Есть ли в отрасли закономерность для этого?

Ответы [ 2 ]

0 голосов
/ 02 января 2019

Здесь нет ничего похожего на «промышленный стандарт».У Django есть некоторые ожидания в отношении специфических для django вещей (моделей, пользовательских тегов и фильтров шаблонов, команд управления и т. Д.) И пары соглашений (например, модулей views и urls) - вы можете назвать их технически так, как хотите, но все ожидают, что онибыть названы "views" и "urls"), но все остальное - просто простой код на Python и может быть организовано, однако это имеет смысл для вас.Единственными рекомендациями здесь являются очевидные - высокая когезия, низкая связь и т. Д. *

0 голосов
/ 02 января 2019

Я не могу комментировать, насколько широко это принято или если это правильный путь, лично я следую структуре проекта, изложенной в книге 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 в каталог приложения. Просто личные предпочтения.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...