Plugin interface to list and execute existing management commands.
Project description
# Django Commands UI
This project offers a solution to list and execute all existing management commands in your Django project.
Configuration
To install and configure it these steps should be followed:
-
Install the dependency from PyPi.
pip install django-commands-ui
-
Add
commands_ui
as an installed app in your Django project. -
Add these needed settings:
# Celery app name COMMANDS_UI_CELERY_APP = "" # Working celery queue name for delayed jobs. COMMANDS_UI_DELAYED_JOBS_QUEUE = "" # Working celery queue name for standard jobs. COMMANDS_UI_JOBS_QUEUE = "" # List of apps from we want to extract the runnable commands. COMMANDS_UI_JOB_APPS = "" # Primary database identifyer, not the replica one. DATABASE_PRIMARY = getattr(settings, "DATABASE_PRIMARY", "default") # Define if the current environment is a cron environment. CRON_ENVIRONMENT = getattr(settings, "CRON_ENVIRONMENT", False)
-
Include package URLs to your base urls file like this:
path("jobs/", include("commands_ui.urls")),
-
Create tables:
python manage.py migrate commands_ui
It is recommended to override base.html
so the appearance is customizable, as all django-commands-ui
templates extend from it.
Documentation
Implementing a management command job
The only needed thing for implementing a working management command job in
django-commands-ui
is extending the existing JobBasedCommand.
This class adds some default arguments (such as --job-id
).
Example on how to use this class:
from commands_ui import management_commands
from django.core.management.base import CommandParser
# Extend the JobBasedCommand class
class Command(management_commands.JobBasedCommand):
def handle(self, *args: Any, **options: Any) -> None:
# Any time `self.print` is used, the message will be added to both standard output and
# Job output.
self.print("Starting")
for i in range(0, 20):
self.print(i)
self.print("Finishing")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django_commands_ui-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fc016845fc1048995b916d9babe637df0f7fa1eb3a7b0b190caabc7a5c87655 |
|
MD5 | 6d272f0fac4240267e4f98da21920b22 |
|
BLAKE2b-256 | 7fef75ea77528d4f53852e040660592eb740545fbc0a29e0a91548673f7e8115 |