Как загрузить пользовательские пакеты из приложений Django в views.py?

Я новичок в Django и у меня есть небольшая проблема с тем, чтобы сделать всю структуру проекта понятной и организованной и т. Д. Материал MVC в Django довольно прост в использовании при создании небольшого проекта. Однако, когда я пытаюсь получить новый уровень (логика приложения, например, трехуровневая архитектура) между views.py и models.py, у меня возникают проблемы с этим.

У меня есть следующая структура:

  • мой сайт/
    • manage.py
    • app1 /
      • models.py
      • views.py
      • логика /
        • __init__.py
        • Class1.py
        • parser.py
    • ...

и я хочу загрузить в views.py вещи из Class1.py а также parser.py, Как мне это сделать?

Ни одна из следующих работ:

from app1.logic import *

from app1.logic.Class1 import Class1

Кроме того, это помогло бы мне, если бы кто-нибудь мог привести мне пример действительно огромного проекта django. Похоже, что либо в каждой папке приложения должно быть много классов и файлов.py, либо все находится в models.py.. Оба выглядят немного неорганизованно, и я уверен, что есть способ сделать это немного более понятным (например, в Zend или Symfony).

И я работаю с Python3 и Django 1.5b2.

Благодарю.

1 ответ

Если Class1 или парсер импортируют из представлений, то у вас круговая зависимость. Вам нужно переместить любой общий код в третий файл.

Вы можете подумать, нужны ли вам все эти отдельные файлы в logic, В Python нет необходимости иметь класс в своем собственном файле, поэтому, возможно, вы могли бы иметь один logic.py вместо логической директории, содержащей несколько файлов.

Другие вопросы по тегам