Как создать подзапросы в Django?
Я новичок в Django, но довольно опытный в программировании. У меня есть набор связанных приложений, которые я хотел бы сгруппировать в под-приложение, но не могу понять, как получить manage.py, чтобы сделать это для меня.
В идеале я получаю следующую структуру:
project/
app/
subapp1/
subapp2/
Я пробовал manage.py startapp app.subapp1
и manage.py startapp app/subapp1
но это говорит мне, что /
и .
являются недопустимыми символами для имен приложений.
Я попытался перейти в каталог приложения и запустить ../manage.py subapp1
, но это делает supapp1 на верхнем уровне. ПРИМЕЧАНИЕ. Я не, пытаясь напрямую создать автономное приложение. Я пытаюсь сделать все это из проекта.
Ответы
Ответ 1
Вы все еще можете сделать это:
cd app
django-admin startapp subapp1
Это будет работать (создайте базовую структуру приложения), однако app
и subapp1
будут по-прежнему рассматриваться как два несвязанных приложения в том смысле, что вы должны добавить их оба в INSTALLED_APPS
в своих настройках.
Отвечает ли это на ваш вопрос? В противном случае вы должны больше рассказать о том, что вы пытаетесь сделать.
Ответ 2
Django не поддерживает "субприложения" как таковой. Если вы хотите, чтобы код был собран в пакетах в приложении, просто создайте их самостоятельно. В противном случае вы просто просите о боли.
Ответ 3
Перейдите в папку приложений. Попробуйте:
python ../manage.py startapp app_name
Ответ 4
django-admin.py startapp myapp /Users/jezdez/Code/myapp
Ссылка: Документация Django Admin
Ответ 5
Согласно документации Django,
Если предоставляется дополнительный пункт назначения, Django будет использовать этот существующий каталог, а не создавать новый. Вы можете использовать '. для обозначения текущего рабочего каталога.
Например:
django-admin startapp myapp/Пользователи/jezdez/Code/myapp
Итак, вы можете сделать это с помощью этого метода:
- Создайте каталог
sub_app1
в каталоге app
-
python manage.py startapp sub_app1 app/sub_app1