A reusable Django app that allows to list manage.py commands and lauch them with one click
Project description
A reusable Django app that allows to list manage.py commands and lauch them with one click.
Installation
To get the latest stable release from PyPi
pip install django-command-interface
To get the latest commit from GitHub
pip install -e git+git://github.com/bitmazk/django-command-interface.git#egg=command_interface
TODO: Describe further installation steps (edit / remove the examples below):
Add command_interface to your INSTALLED_APPS
INSTALLED_APPS = (
...,
'command_interface',
)
Add the command_interface URLs to your urls.py
urlpatterns = patterns('',
...
url(r'^command-interface/', include('command_interface.urls')),
)
This app uses the Django messages framework, so you need to add django.contrib.messages.middleware.MessageMiddleware to your MIDDLEWARE_CLASSES setting.
Usage
Just visit the command interface main panel at view name command_interface_main and see listed all the commands, that you can execute just by clicking “Run command”.
That’s it.
Passing arguments to the commands is still WIP.
Settings
COMMAND_INTERFACE_DISPLAYED_APPS
You can limit the displayed apps by setting COMMAND_INTERFACE_DISPLAYED_APPS. The syntax is the same as it is in the INSTALLED_APPS setting. It defaults to showing absolutely all apps.
# would list all commands of the awesome_app
COMMAND_INTERFACE_DISPLAYED_APPS = ['awesome_app']
COMMAND_INTERFACE_DISPLAYED_COMMANDS
Further you can also provide a list of commands, that should explicitly be displayed. Defaults to all as well.
# would on its own only show the mycommand command
COMMAND_INTERFACE_DISPLAYED_COMMANDS = ['mycommand']
The settings don’t exclude each other. So displaying any full app and just one or two specific commands from somewhere else is no problem at all.
COMMAND_INTERFACE_LOGFILE_PATH
For logging, you can specify a logfile path, where logfiles for each command can be created. The logfiles will always be prefixed with command_interface_log-.
..code-block:: python
COMMAND_INTERFACE_LOGFILE_PATH = ‘/home/myname/tmp/logs/’
This value defaults to None, which means, that no logs are created.
The log of the last run is then displayed on the command interface main view under each respective command.
COMMAND_INTERFACE_VENV_PATH
Set this to the path of your virtualenv. Usually command interface should be able to detect the active venv on its own, but in some cases, you need to provide this exact path in order for it to find the correct python file.
..code-block:: python
COMMAND_INTERFACE_VENV_PATH = ‘/home/myname/.virtualenvs/myproject/’
If this setting is not set, command interface tries to read out the VIRTUAL_ENV environment variable to find the correct path.
Contribute
If you want to contribute to this project, please perform the following steps
# Fork this repository
# Clone your fork
mkvirtualenv -p python2.7 django-command-interface
make develop
git co -b feature_branch master
# Implement your feature and tests
git add . && git commit
git push -u origin feature_branch
# Send us a pull request for your feature branch
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for django-command-interface-0.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87ca78955f9ed486357354792a190d34596478859bde1012f3d0b43e70c903a1 |
|
MD5 | 4749a0e201a9b222ff5e928e0a2bf6b1 |
|
BLAKE2b-256 | bed7576867355b52ee887fce68f153b6d606064c95656c90dc568ede521eac84 |