django_manage - Управляет приложением Django.
Описание
- Управляет приложением Django, используя интерфейс приложения manage.py, перенаправляя вызовы к django-admin. С параметром virtualenv все команды управления будут выполняться с использованием указанной установки virtualenv.
Требования (для хоста, на котором выполняется модуль)
- virtualenv
- django
Параметры
| параметр | обязателен | по умолчанию | выбор | примечания |
|---|---|---|---|---|
| app_path | да | Путь к корню приложения Django, где находится manage.py. | ||
| apps | нет | Список приложений через пробел, которые нужно обработать. Используется командой 'test'. | ||
| cache_table | нет | Имя таблицы, используемой для кэширования на базе данных. Используется командой 'createcachetable'. | ||
| command | да |
| Имя команды управления Django для выполнения. Встроенные команды: cleanup, collectstatic, flush, loaddata, migrate, runfcgi, syncdb, test и validate. Можно ввести другие команды, но они будут завершаться ошибкой, если не известны Django. Другие команды, которые могут потребовать ввод с клавиатуры, следует запускать с флагом --noinput. | |
| database | нет | Целевая база данных. Используется командами 'createcachetable', 'flush', 'loaddata' и 'syncdb'. | ||
| failfast | нет | нет |
| Немедленно завершить команду, если тест завершится неудачно. Используется командой 'test'. |
| fixtures | нет | Список файлов фикстур через пробел для загрузки в базу данных. Обязателен для команды 'loaddata'. | ||
| link (добавлено в 1.3)
| нет | Создаст ссылки на файлы вместо копирования. Можно использовать только с командой 'collectstatic'. | ||
| merge (добавлено в 1.3)
| нет | Выполнит миграции, которые находятся вне порядка или отсутствуют, поскольку они не являются миграциями отката. Можно использовать только с командой 'migrate'. | ||
| pythonpath | нет | Директория для добавления в путь Python. Обычно используется для включения модуля настроек, если он находится вне директории приложения. | ||
| settings | нет | Путь Python к модулю настроек приложения, например 'myapp.settings'. | ||
| skip (добавлено в 1.3)
| нет | Пропустит миграции, которые находятся вне порядка или отсутствуют. Можно использовать только с командой migrate
| ||
| virtualenv | нет | Необязательный путь к установке virtualenv для использования при запуске приложения manage. |
Примеры
# Run cleanup on the application installed in 'django_dir'.
- django_manage:
command: cleanup
app_path: "{{ django_dir }}"
# Load the initial_data fixture into the application
- django_manage:
command: loaddata
app_path: "{{ django_dir }}"
fixtures: "{{ initial_data }}"
# Run syncdb on the application
- django_manage:
command: syncdb
app_path: "{{ django_dir }}"
settings: "{{ settings_app_name }}"
pythonpath: "{{ settings_dir }}"
virtualenv: "{{ virtualenv_dir }}"
# Run the SmokeTest test case from the main app. Useful for testing deploys.
- django_manage:
command: test
app_path: "{{ django_dir }}"
apps: main.SmokeTest
# Create an initial superuser.
- django_manage:
command: "createsuperuser --noinput --username=admin --email=admin@example.com"
app_path: "{{ django_dir }}"
Примечания
Примечание
- virtualenv (http://www.virtualenv.org) должен быть установлен на удалённом хосте, если указан параметр virtualenv.
- Этот модуль создаст virtualenv, если указан параметр virtualenv и virtualenv ещё не существует по указанному пути.
- Этот модуль предполагает использование английских сообщений об ошибках для команды 'createcachetable', чтобы определить существование таблицы, к сожалению.
- Для использования команды migrate с версиями django < 1.7 необходимо установить south и добавить его как приложение в ваши настройки.
- Для использования команды collectstatic необходимо включить staticfiles в ваших настройках.
- Начиная с Ansible 2.x, ваше приложение manage.py должно быть исполняемым (rwxr-xr-x) и иметь действительный shebang, например “#!/usr/bin/env python”, для вызова соответствующего интерпретатора Python.
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость.
Для получения помощи в разработке модулей, если вы заинтересованы, пожалуйста, ознакомьтесь с информацией о сообществе и участии в разработке, тестированием Ansible и разработкой модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/django_manage_module.html