django_manage - Manages a Django application.

Author:Scott Anderson

Synopsis

New in version 1.1.

Manages a Django application using the manage.py application frontend to django-admin. With the virtualenv parameter, all management commands will be executed by the given virtualenv installation.

Options

parameter required default choices comments
app_path yes
    The path to the root of the Django application where manage.py lives.
    apps no
      A list of space-delimited apps to target. Used by the 'test' command.
      cache_table no
        The name of the table used for database-backed caching. Used by the 'createcachetable' command.
        command yes
        • cleanup
        • collectstatic
        • flush
        • loaddata
        • migrate
        • runfcgi
        • syncdb
        • test
        • validate
        The name of the Django management command to run. Built in commands are cleanup, collectstatic, flush, loaddata, migrate, runfcgi, syncdb, test, and validate. Other commands can be entered, but will fail if they're unknown to Django.
        database no
          The database to target. Used by the 'createcachetable', 'flush', 'loaddata', and 'syncdb' commands.
          failfast no no
          • yes
          • no
          Fail the command immediately if a test fails. Used by the 'test' command.
          fixtures no
            A space-delimited list of fixture file names to load in the database. Required by the 'loaddata' command.
            link no
              Will create links to the files instead of copying them, you can only use this parameter with 'collectstatic' command (added in Ansible 1.3)
              merge no
                Will run out-of-order or missing migrations as they are not rollback migrations, you can only use this parameter with 'migrate' command (added in Ansible 1.3)
                pythonpath no
                  A directory to add to the Python path. Typically used to include the settings module if it is located external to the application directory.
                  settings no
                    The Python path to the application's settings module, such as 'myapp.settings'.
                    skip no
                      Will skip over out-of-order missing migrations, you can only use this parameter with migrate (added in Ansible 1.3)
                      virtualenv no
                        An optional path to a virtualenv installation to use while running the manage application.

                        Note

                        Requires virtualenv

                        Note

                        Requires django

                        Examples


                        # 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

                        Note

                        virtualenv (http://www.virtualenv.org) must be installed on the remote host if the virtualenv parameter is specified.

                        Note

                        This module will create a virtualenv if the virtualenv parameter is specified and a virtualenv does not already exist at the given location.

                        Note

                        This module assumes English error messages for the ‘createcachetable’ command to detect table existence, unfortunately.

                        Note

                        To be able to use the migrate command, you must have south installed and added as an app in your settings

                        Note

                        To be able to use the collectstatic command, you must have enabled staticfiles in your settings