Commands¶
Django Site Utils provides the following management commands for performing site-wide administrative actions.
site_cleanup¶
site_cleanup
runs a customizable list of cleanup functions that can help
to remove stale database content. Refer to SITE_CLEANUP_FUNCTIONS
in
Settings for the list of functions that will be run.
site_config¶
The site_config
command updates the Sites
model provided by the
django.contrib.sites
app. It can be used by deployment scripts to update
the database to reflect the domain(s) where project has been deployed, for
example:
python manage.py site_config -n "Dev Site" -d "dev.example.com"
site_error_page¶
The site_error_page
command generates error pages using the site’s theme
and customizable templates. These error page files can be used by a frontend
web server (e.g. apache or nginx) to display errors outside of the Django
application while maintaining the look and feel of the Django site. For
example, the following command generates 404.html
and 500.html
files:
python manage.py site_error_page --dest /path/to/webroot/ 404 500
For customization of the error messages and templates, refer to the
SITE_ERROR_MESSAGES
and SITE_ERROR_TEMPLATES
settings under
Settings.
site_notify¶
The site_notify
command can be used to email users listed in the
ADMINS
or MANAGERS
settings or any users in the database based on their
is_staff
or is_superuser
status. The subject and body of the
notification are provided via the command line options, and the templates used
to render the message may be overridden for further customization.
For example, to notify ADMINS
when a new version of the site is running:
python manage.py site_notify --admins "Site Updated" "Site is now running commit abcdef on branch devel"
Or to notify all staff users of upcoming site maintenance:
python manage.py site_notify --staff "Upcoming Maintenance" "The site will be down for maintenance on YYYY/MM/DD from 2:00-3:00 AM"
Refer to the SITE_NOTIFY_DEFAULT_RECIPIENTS
, SITE_NOTIFY_BODY_TEMPLATE
and SITE_NOTIFY_SUBJECT_TEMPLATE
settings in Settings to further
customize notification defaults.
site_update¶
The site_update
command runs multiple management commands together,
allowing for different named groups of commands. For example, running the
following command will run manage.py check
, manage.py migrate --fake-initial
and manage.py collectstatic
in order:
python manage.py site_update
Refer to the SITE_UPDATE_COMMANDS
setting in Settings to
customize the default commands or define new groups of commands.