Show staff-only controls at website frontents
Project description
django-staff-toolbar
Displaying staff-only controls at a webpage.
Features:
Linking to the admin page of the current object.
Full configuration of the displayed toolbar items.
API for adding custom menu items.
Installation
First install the module, preferably in a virtual environment:
git clone https://github.com/edoburu/django-staff-toolbar.git cd django-staff-toolbar pip install .
Configuration
Add the application to settings.py:
INSTALLED_APPS += ( 'staff_toolbar', )
Make sure the django.core.context_processors.request is included in TEMPLATE_CONTEXT_PROCESSORS.
Add the HTML widget to the template:
{% load staff_toolbar_tags %} {% staff_toolbar %}
Make sure the layout is loaded in the template:
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}staff_toolbar/staff_toolbar.css" />
Layout
By default, a simple layout is included. You can change this layout to your own liking.
The source SASS file is included, making it easier to integrate this into your project stylesheets when needed.
Customizing the admin URL
The admin URL is auto-detected using:
The object variable in the template.
The view.object variable in the template.
In some cases, this is not sufficient. When the auto-detected “Change object” link does not point to the right page, this can be resolved using two methods:
Using the view
When your class-based-view implements staff_toolbar.views.StaffUrlMixin, that information will be used to render the proper “Change object” link.
This requires Django 1.5, which exports the view variable to the template.
Using the template
In the template, you can include:
{% set_staff_object page %}
When needed, the URL can also be set:
{% set_staff_url %}{% url 'dashboard:catalogue-product' object.id %}{% end_set_staff_url %}
Caveats
For HTTPS sites with SESSION_COOKIE_SECURE = True the toolbar obviously won’t show up in the standard pages that are served by HTTP.
Either display all pages on HTTPS (which is the Right Way™ after all), or please provide a good pull request that solves this nicely for mixed sites.
Contributing
This module is designed to be generic, and easy to plug into your site. Pull requests and improvements are welcome!
If you have any other valuable contribution, suggestion or idea, please let us know as well!
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
Built Distribution
File details
Details for the file django-staff-toolbar-1.0.1.tar.gz
.
File metadata
- Download URL: django-staff-toolbar-1.0.1.tar.gz
- Upload date:
- Size: 13.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 406cc8b7f3ac3c7d847a746877a256863ad07ac41913c1b80a026877101f6462 |
|
MD5 | 7574deb6e86f66eb1629d22659c1d5fa |
|
BLAKE2b-256 | 283c3914ed684ea585df6aafcfec3b07b52fa69bf2a55e792926399d55a8c8b7 |
File details
Details for the file django_staff_toolbar-1.0.1-py2-none-any.whl
.
File metadata
- Download URL: django_staff_toolbar-1.0.1-py2-none-any.whl
- Upload date:
- Size: 14.3 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e25eef9a52907fc059a813d258ce6ad3a7edf71b214f5486f1f15f859740ff7e |
|
MD5 | 3ce64f99fb21c956aab9bf9779ddec35 |
|
BLAKE2b-256 | 3a7feb43b9eb80b3e48d6b93077cb3b2cb371e256688ed5210d10c1b90b41aa5 |