Spec-Zone.ru › Ansible

Модуль community.general.django_manage — управление приложением Django

Примечание

Этот модуль входит в коллекцию community.general (версия 12.6.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в состав ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить коллекцию, используйте: ansible-galaxy collection install community.general. Для использования этого модуля могут потребоваться дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.general.django_manage.

  • Краткое описание
  • Требования
  • Параметры
  • Атрибуты
  • Примечания
  • См. также
  • Примеры

Краткое описание

  • Управляет приложением Django с помощью интерфейса приложения manage.py для django-admin. При использовании параметра virtualenv все команды управления выполняются с помощью указанной установки virtualenv.

Требования

На узле, выполняющем этот модуль, необходимы следующие компоненты.

  • django >= 4.1

Параметры

Параметр

Комментарии

apps

string

Список приложений, разделённых пробелами, для обработки. Используется командой test.

cache_table

string

Имя таблицы, используемой для кэширования в базе данных. Используется командой createcachetable.

clear

boolean

Удалить существующие файлы перед попыткой скопировать исходный файл или создать на него ссылку.

Используется только с командой collectstatic. Аргумент --noinput добавляется автоматически.

Варианты:

  • false ← (по умолчанию)
  • true

command

string / обязательный

Имя запускаемой команды управления Django. Перечисленные ниже команды встроены в этот модуль и проходят базовую проверку параметров.

collectstatic — собирает статические файлы в STATIC_ROOT.

createcachetable — создаёт таблицы кэша для использования с серверной частью кэша базы данных.

flush — удаляет все данные из базы данных.

loaddata — ищет указанный fixtures и загружает его содержимое в базу данных.

migrate — синхронизирует состояние базы данных с моделями и миграциями.

test — запускает тесты для всех установленных приложений.

Можно указать пользовательские команды, но они завершатся с ошибкой, если Django не знает их. Пользовательские команды, которые могут запрашивать ввод данных, следует запускать с флагом --noinput.

Поддержка значений cleanup, syncdb, validate удалена в community.general 9.0.0. См. примечание о поддерживаемых версиях Django.

database

string

Целевая база данных. Используется командами createcachetable, flush, loaddata, syncdb и migrate.

failfast

псевдонимы: fail_fast

boolean

Немедленно завершить выполнение команды, если тест завершился неудачно. Используется командой test.

Варианты:

  • false ← (по умолчанию)
  • true

fixtures

string

Список имён файлов фикстур, разделённых пробелами, для загрузки в базу данных. Команда loaddata требует этот параметр.

link

boolean

Создаёт ссылки на файлы вместо их копирования. Этот параметр можно использовать только с командой collectstatic.

Варианты:

  • false
  • true

merge

boolean

Выполняет миграции, отсутствующие или расположенные не по порядку, поскольку они не являются миграциями отката. Этот параметр можно использовать только с командой migrate.

Варианты:

  • false
  • true

project_path

псевдонимы: app_path, chdir

path / обязательный

Путь к корневому каталогу приложения Django, где находится manage.py.

pythonpath

псевдонимы: python_path

path

Каталог, добавляемый в путь поиска Python. Обычно используется для включения модуля настроек, если он находится за пределами каталога приложения.

Это эквивалентно добавлению значения pythonpath в переменную окружения PYTHONPATH.

settings

path

Путь Python к модулю настроек приложения, например myapp.settings.

skip

boolean

Пропускает отсутствующие миграции, расположенные не по порядку. Этот параметр можно использовать только с командой migrate.

Варианты:

  • false
  • true

testrunner

псевдонимы: test_runner

string

Задаёт класс запуска тестов, используемый для выполнения тестов.

Этот параметр передаётся без изменений в manage.py.

virtualenv

псевдонимы: virtual_env

path

Необязательный путь к установке virtualenv, используемой при запуске приложения manage.

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: нет

Может работать в режиме check_mode и возвращать прогноз изменения состояния, не изменяя целевой объект.

diff_mode

Поддержка: нет

В режиме diff возвращает сведения об изменениях (или возможных изменениях в check_mode).

Примечания

Примечание

  • ВНИМАНИЕ: Поддержка выпусков Django старше 4.1 удалена в community.general версии 9.0.0. Хотя модуль допускает произвольные команды и не проверяет используемую версию Django, настоятельно рекомендуется использовать более свежую версию платформы.
  • Обратите внимание, что для Django 4.1 требуется Python версии 3.8 или новее.
  • Если задан параметр virtualenv, модуль не создаёт виртуальную среду, когда она ещё не существует по указанному пути. Это поведение изменилось в community.general версии 9.0.0.
  • Рекомендуемый способ создания виртуальной среды в Ansible — использовать ansible.builtin.pip.
  • К сожалению, для определения существования таблицы этот модуль предполагает, что команда createcachetable возвращает сообщения об ошибках на английском языке.
  • Для использования команды collectstatic необходимо включить staticfiles в настройках.
  • Приложение manage.py должно быть исполняемым (rwxr-xr-x) и содержать корректную строку shebang, например #!/usr/bin/env python, для вызова соответствующего интерпретатора Python.

См. также

См. также

Справочник по django-admin и manage.py

Справочник по командам django-admin и manage.py.

Страница загрузки Django

Страница с инструкциями по получению Django и графиком поддерживаемых выпусков.

Какую версию Python можно использовать с Django?

Ответ из FAQ Django о требованиях платформы к Python.

Примеры

- name: Run cleanup on the application installed in django_dir
  community.general.django_manage:
    command: clearsessions
    project_path: "{{ django_dir }}"

- name: Load the initial_data fixture into the application
  community.general.django_manage:
    command: loaddata
    project_path: "{{ django_dir }}"
    fixtures: "{{ initial_data }}"

- name: Run syncdb on the application
  community.general.django_manage:
    command: migrate
    project_path: "{{ django_dir }}"
    settings: "{{ settings_app_name }}"
    pythonpath: "{{ settings_dir }}"
    virtualenv: "{{ virtualenv_dir }}"

- name: Run the SmokeTest test case from the main app. Useful for testing deploys
  community.general.django_manage:
    command: test
    project_path: "{{ django_dir }}"
    apps: main.SmokeTest

- name: Create an initial superuser
  community.general.django_manage:
    command: "createsuperuser --noinput --username=admin --email=admin@example.com"
    project_path: "{{ django_dir }}"

Авторы

  • Alexei Znamensky (@russoz)
  • Scott Anderson (@tastychutney)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Задать вопрос
  • Сообщить об ошибке
  • Предложить функцию
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/django_manage_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API