Организуйте приложения django внутри
При создании приложений вы делаете следующее: python manage.py startapp app1, но это автоматически создает приложение в корневой папке проекта.
/project1/
/app1/
/app2/
...
__init__.py
manage.py
settings.py
urls.py
как создать и сохранить в уже созданной папке все приложения, которые создаются в Django? например: в этом случае у меня есть папка под названием "apps" внутри нее будут все приложения, которые создаются во время разработки:
/project/
apps/
app1/
app2/
...
__init__.py
manage.py
settings.py
urls.py
Любой, кто может предоставить информацию, будет заранее признателен.
Как указано в документах django,
django-admin startapp name [directory]
Создает структуру каталога приложения Django с указанным именем приложения, либо в текущем каталоге, либо в указанном назначении.
Например:
django-admin startapp myapp apps/myapp
Затем вам придется немного изменить файл настроек, чтобы django распознал приложения:
import os
import sys # new
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
...
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp.apps.MyappConfig',
]
...
sys.path.append(os.path.join(BASE_DIR, 'apps')) # at the bottom of the file
Это также работает в моем случае. В settings.py
import sys
# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent
# NEW: Add apps directory to Python file path
PROJECT_ROOT = os.path.dirname(__file__)
sys.path.insert(0, os.path.join(PROJECT_ROOT, "apps"))
Затем вы можете использовать все приложения в этой папке точно так же, как они были в корне вашего проекта!
"app_name.apps.App_nameConfig"
Первый запуск django-admin startproject project_name
Если вы хотите создать в текущем каталоге, вы можете написать точку в конце команды следующим образом: django-admin startproject project_name .
Затем создание приложения python manage.py startapp app_name
Посетите для более подробного объяснения https://docs.djangoproject.com/en/4.1/intro/tutorial01/
Создайте папку внутри папки проекта и перейдите в эту новую созданную папку
Затем выполните команду для создания приложения (не нужно указывать путь к папке, так как вы уже находитесь в нужной папке)
Перейдите к файлу apps.py внутри нового созданного приложения и измените его имя. Добавьте имя папки перед именем приложения, соединив оба символа точкой
например, имя папки - apps, а имя приложения - myapp, измените имя = 'apps.myapp'
Теперь перейдите в основной файл settings.py и добавьте имя вашего приложения таким же образом (apps.myapp)
В основном url также при определении пути вы будете использовать имя папки перед именем приложения, соединяя оба точкой.