Команда startapp
Команда startapp применяется для создания каркаса нового приложения внутри Django-проекта. Она автоматически генерирует базовую структуру директорий и файлов, необходимых для разработки приложения: модели, представления, маршруты, административный интерфейс и другие компоненты. Команда принимает имя приложения в качестве обязательного аргумента и опционально путь для размещения.
Синтаксис
python manage.py startapp app_name [destination]
Параметры
Команда принимает следующие параметры:
app_name - обязательный аргумент, задающий имя создаваемого приложения. Имя должно состоять только из букв, цифр и символов подчёркивания, начинаться с буквы и не совпадать с зарезервированными именами Python.
destination - опциональный аргумент, указывающий путь для размещения приложения. Если не указан, приложение создаётся в корневой директории проекта.
Пример
Давайте создадим новое приложение с именем 'blog' в корневой директории проекта:
python manage.py startapp blog
Результат выполнения команды:
"Creating directory: blog"
"Creating file: blog/__init__.py"
"Creating file: blog/admin.py"
"Creating file: blog/apps.py"
"Creating file: blog/models.py"
"Creating file: blog/views.py"
"Creating file: blog/urls.py"
"Creating file: blog/tests.py"
"Creating directory: blog/migrations"
"Creating file: blog/migrations/__init__.py"
Пример
Давайте создадим приложение в конкретной директории 'apps' внутри проекта:
python manage.py startapp users apps/users
Результат выполнения команды:
"Creating directory: apps/users"
"Creating file: apps/users/__init__.py"
"Creating file: apps/users/admin.py"
"Creating file: apps/users/apps.py"
"Creating file: apps/users/models.py"
"Creating file: apps/users/views.py"
"Creating file: apps/users/urls.py"
"Creating file: apps/users/tests.py"
"Creating directory: apps/users/migrations"
"Creating file: apps/users/migrations/__init__.py"
Пример
После создания приложения его необходимо зарегистрировать в файле настроек проекта. Добавим приложение 'blog' в INSTALLED_APPS:
# myproject/settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog.apps.BlogConfig', # добавлено приложение blog
]
Смотрите также
-
команда
startproject,
которая создаёт новый проект Django -
команда
makemigrations,
которая создаёт файлы миграций на основе изменений в моделях -
команда
migrate,
которая применяет миграции к базе данных -
команда
shell,
которая запускает интерактивную оболочку Django