Как мне создать подпрограммы в Django? - PullRequest
43 голосов
/ 19 мая 2010

Я новичок в Django, но довольно опытный в программировании. У меня есть набор связанных приложений, которые я хотел бы сгруппировать в подпроцесс, но не могу понять, как заставить manage.py сделать это для меня.

В идеале я получу такую ​​структуру, как:

project/
   app/
       subapp1/
       subapp2/

Я пробовал manage.py startapp app.subapp1 и manage.py startapp app/subapp1
но это говорит мне, что / и . являются недопустимыми символами для имен приложений.

Я попытался перейти в каталог приложения и запустить ../manage.py subapp1, но это делает supapp1 на верхнем уровне. ПРИМЕЧАНИЕ. Я не пытаюсь напрямую создать автономное приложение. Я пытаюсь сделать все это из проекта.

Ответы [ 5 ]

51 голосов
/ 19 мая 2010

Вы все еще можете сделать это:

cd app
django-admin startapp subapp1

Это будет работать (создайте базовую структуру приложения), однако app и subapp1 будут по-прежнему рассматриваться как два несвязанных приложения в том смысле, что вам нужно добавить оба из них к INSTALLED_APPS в ваших настройках.

Это отвечает на ваш вопрос? В противном случае вам следует больше рассказать о том, что вы пытаетесь сделать.

14 голосов
/ 06 апреля 2017

Согласно документации Django ,

Если указан необязательный пункт назначения, Django будет использовать этот существующий каталог, а не создавать новый. Вы можете использовать ‘.’ Для обозначения текущего рабочего каталога.

Например:

django-admin startapp myapp / Пользователи / jezdez / Код / myapp

Итак, вы можете сделать это следующим способом:

  1. Создать sub_app1 каталог в app каталоге
  2. python manage.py startapp sub_app1 app/sub_app1
10 голосов
/ 19 мая 2010

Django не поддерживает «подпрограммы» как таковые.Если вы хотите, чтобы код собирался в пакеты внутри приложения, просто создайте их самостоятельно.В противном случае вы просто просите боли.

6 голосов
/ 01 июля 2013

Перейдите в папку ваших приложений. Попробуйте:

python ../manage.py startapp app_name
2 голосов
/ 18 февраля 2014
django-admin.py startapp myapp /Users/jezdez/Code/myapp

Ссылка: Документация администратора Django

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