django-grappelli-extensions
django-grappelli-extensions copied to clipboard
django-grappelli-extensions
Available features:
-
Header navbar
-
Left sidebar
-
Python > 2.6
-
django-grappelli >= 2.4.5
-
Django >= 1.4
Installation
pip install django-grappelli-extensions- Put
grappelli_extensionsbeforegrappellion INSTALLED_APPS.
settings.py
- Put 'grappelli_extensions' before 'grappelli' on INSTALLED_APPS
- Put 'apptemplates.Loader' on your TEMPLATE_LOADERS setting:
# Your setting will look like:
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
'apptemplates.Loader',
)

Set the class that will generate your navigation bar:
GRAPPELLI_EXTENSIONS_NAVBAR = 'extensions.Navbar'
sidebar

Set the class that will generate your sidebar:
GRAPPELLI_EXTENSIONS_SIDEBAR = 'extensions.Sidebar'
extensions.py
from django.core.urlresolvers import reverse_lazy
from grappelli_extensions.nodes import CLNode
class Navbar(object):
nodes = (
('Auth', {'nodes': (
('Users', {
'url': reverse_lazy('admin:auth_user_changelist'),
'perm': 'auth.change_user',
}),
('Groups', {
'url': reverse_lazy('admin:auth_group_changelist'),
'perm': 'auth.change_group',
}),
)}),
('Sites',
{'url': reverse_lazy('admin:sites_site_changelist')}),
('Nodes', {'nodes': (
CLNode('auth', 'user'),
CLNode('sites', 'site'),
)}),
CLNode('auth', 'user', u"Site users"),
)
IMPORTANT: Sidebar class follows the very same structure (But only use root nodes).
To run tests
pip install -r requirements/tests.txt Django
export DJANGO_SETTINGS_MODULE=grappelli_extensions.test_settings
`which django-admin.py` test grappelli_extensions"
Contributing
- Fork it.
- Create your feature branch. (
git checkout -b my-new-feature) - Commit your changes. (
git commit -am 'Add some feature') - Push to the branch. (
git push origin my-new-feature) - Create new Pull Request.



