Как загрузить пользовательские пакеты из приложений 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
вместо логической директории, содержащей несколько файлов.