Команда startapp

Команда startapp применяется для создания каркаса нового приложения внутри Django-проекта. Она автоматически генерирует базовую структуру директорий и файлов, необходимых для разработки приложения: модели, представления, маршруты, административный интерфейс и другие компоненты. Команда принимает имя приложения в качестве обязательного аргумента и опционально путь для размещения.

Синтаксис

pythonpython manage.py startapp app_name [destination]

Параметры

Команда принимает следующие параметры:

app_name - обязательный аргумент, задающий имя создаваемого приложения. Имя должно состоять только из букв, цифр и символов подчёркивания, начинаться с буквы и не совпадать с зарезервированными именами Python.

destination - опциональный аргумент, указывающий путь для размещения приложения. Если не указан, приложение создаётся в корневой директории проекта.

Пример

Давайте создадим новое приложение с именем 'blog' в корневой директории проекта:

pythonpython manage.py startapp blog

Результат выполнения команды:

python"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' внутри проекта:

pythonpython manage.py startapp users apps/users

Результат выполнения команды:

python"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:

python# 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