Note
This plugin is part of the community.general collection (version 2.0.1).
To install it use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.django_manage
.
manage.py
application frontend to django-admin
. With the virtualenv
parameter, all management commands will be executed by the given virtualenv
installation.The below requirements are needed on the host that executes this module.
Parameter | Choices/Defaults | Comments |
---|---|---|
apps string | A list of space-delimited apps to target. Used by the test command. | |
cache_table string | The name of the table used for database-backed caching. Used by the createcachetable command. | |
clear boolean |
| Clear the existing files before trying to copy or link the original file. Used only with the 'collectstatic' command. The --noinput argument will be added automatically. |
command string / required | The name of the Django management command to run. Built in commands are cleanup , collectstatic , flush , loaddata , migrate , syncdb , test , and validate .Other commands can be entered, but will fail if they're unknown to Django. Other commands that may prompt for user input should be run with the --noinput flag.The module will perform some basic parameter validation (when applicable) to the commands cleanup , collectstatic , createcachetable , flush , loaddata , migrate , syncdb , test , and validate . | |
database string | The database to target. Used by the createcachetable , flush , loaddata , syncdb , and migrate commands. | |
failfast boolean |
| Fail the command immediately if a test fails. Used by the test command.aliases: fail_fast |
fixtures string | A space-delimited list of fixture file names to load in the database. Required by the loaddata command. | |
link boolean |
| Will create links to the files instead of copying them, you can only use this parameter with collectstatic command. |
liveserver string | This parameter was implemented a long time ago in a galaxy far way. It probably relates to the django-liveserver package, which is no longer updated. Hence, it will be considered DEPRECATED and should be removed in a future release. aliases: live_server | |
merge boolean |
| Will run out-of-order or missing migrations as they are not rollback migrations, you can only use this parameter with migrate command. |
project_path path / required | The path to the root of the Django application where manage.py lives. aliases: app_path, chdir | |
pythonpath path | A directory to add to the Python path. Typically used to include the settings module if it is located external to the application directory. aliases: python_path | |
settings path | The Python path to the application's settings module, such as myapp.settings . | |
skip boolean |
| Will skip over out-of-order missing migrations, you can only use this parameter with migrate command. |
testrunner string | From the Django docs: Controls the test runner class that is used to execute tests. This parameter is passed as-is to manage.py .aliases: test_runner | |
virtualenv path | An optional path to a virtualenv installation to use while running the manage application. aliases: virtual_env |
Note
virtualenv
(http://www.virtualenv.org) must be installed on the remote host if the virtualenv parameter is specified.createcachetable
command to detect table existence, unfortunately.migrate
command with django versions < 1.7, you must have south
installed and added as an app in your settings.collectstatic
command, you must have enabled staticfiles in your settings.manage.py
application must be executable (rwxr-xr-x), and must have a valid shebang, i.e. #!/usr/bin/env python
, for invoking the appropriate Python interpreter.- name: Run cleanup on the application installed in django_dir community.general.django_manage: command: cleanup 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: syncdb 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 protected]" project_path: "{{ django_dir }}"
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/django_manage_module.html