Status page application.
Installation
Install the package
pip install django-statusboard
Add the following applications to your Django projects
INSTALLED_APPS += [
'django.contrib.humanize',
'rest_framework',
'statusboard',
]
Update your urlconf:
# myproject/urls.py
urlpatterns += [
url(r'^statusboard/$', include('statusboard.urls')),
]
Update your database
./manage migrate
Configuration
You can configure the app using the dict STATUSBOARD in settings.py:
STATUSBOARD = {
"INCIDENT_DAYS_IN_INDEX": 7,
"OPEN_INCIDENT_IN_INDEX": True,
}
INCIDENT_DAYS_IN_INDEX: number of days to show in index (1 = today).
OPEN_INCIDENT_IN_INDEX: show not fixed incidents in index.
Customize pages
The following blocks are customizable in statusboard/base.html:
title: title of the page
branding: branding in fixed navbar
bootstrap_theme: bootstrap theme
header: header of the page
userlinks: links in the header
footer: footer div
style: CSS files
script: JavaScript files
Example: change branding and title
Django 1.8
Copy statusboard/templates/statusboard/base.html in one of your templates dir and edit the file.
Django >= 1.9
In Django >= 1.9, the templates can be extended recursively (see https://docs.djangoproject.com/en/1.9/releases/1.9/#templates).
Create a statusboard/base.html in one of your templates dir:
{% extends `statusboard/base.html %}
{% block title %}
ACME, Inc.
{% endblock %}
{% block branding %}
<a class="navbar-brand" href="{% url 'statusboard:index' %}">ACME status</a>
{% endblock %}
Notifications
django-statusboard doesn’t provide an out-of-the-box notification system, but it’s easy to implement using django signals.
Moreover, django-statusboard tracks the previous status of a service (Service._status).
from django.dispatch import receiver
from django.db.models.signals import post_save
from django.core.mail import mail_admins
from statusboard import Service
@receiver(post_save, sender=Service)
def notify_service_update(sender, instance, **kwargs):
# Send an email to admins if the service is getting worse, otherwise do nothing.
if instance.status > instance._status:
mail_admins("Alert", "Service {} is {}".format(instance.name, instance.get_status_display()))
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-statusboard-0.5.2.tar.gz.
File metadata
- Download URL: django-statusboard-0.5.2.tar.gz
- Upload date:
- Size: 207.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
995f56d066d176c35c14724c117e207762bbb98584f91e3871ff1fe0d23fa83c
|
|
| MD5 |
a812bfd1d29d562ba2765b109933c7f6
|
|
| BLAKE2b-256 |
247390148a4a6fa55aeea602f3a865bbbcf2ddc2c05c255b0ba97b9b46d0f104
|