Какое лучшее место для классов Python в проекте Django? - PullRequest
9 голосов
/ 19 апреля 2009

Это может звучать тривиально, но я хотел бы знать, куда я должен положить свои классы Python (не из Model)?

Я имею в виду, что мои классы моделей определены в myapp/models.py, но я хочу, например, использовать фид синдикации для написания простого фида. Документ говорит, что мне нужно написать класс Feed, но ... Куда мне поместить код? Какой путь и файл? Я хотел бы придерживаться стандартной структуры каталогов Django.

Спасибо!

Ответы [ 3 ]

11 голосов
/ 19 апреля 2009

Вы можете положить его туда, куда хотите.

пример:

project
  myapp 
     views.py
     models.py
     feeds.py

Затем вы можете импортировать модуль фидов, используя импорт.

из импорта project.myapp.feeds *

Создание каталога лучше, когда вы имеете дело с большим количеством файлов. Например:

project
    myapp
      models.py
      views.py
      extras
        feeds.py
        sitemaps.py

Я предлагаю вам прочитать это: Модули Python: пакеты

3 голосов
/ 19 апреля 2009

Для классов, связанных с фидом, принято помещать их в модуль с именем feeds в соответствующий модуль приложения. Например, если у вас есть блог с RSS-каналом, структура вашего проекта будет выглядеть следующим образом:

project/
    blog/
        __init__.py
        feeds.py
        models.py
        views.py

В целом , для других немодельных классов вы можете поместить их в любое место (как отметил Андреа Ди Персио). Обычно вы помещаете их как модуль в соответствующий пакет приложения. Для классов общего пользования я обычно создаю пакет с именем lib, который содержит общие классы и функции, например:

project/
    blog/
        __init__.py
        feeds.py
        models.py
        other_stuff.py
        views.py
    lib/
        __init__.py
        things.py
0 голосов
/ 11 марта 2017
Models.py

Это лучшее место для ваших моделей, потому что модели имеют доступ к данным (в базе данных)

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