django-admin-views is a simple way to add custom admin views and direct URLs to the Django admin
Project description
Overview
While “the admin is not your app”, it is often useful to be able to easily add a bit of functionality to the admin for internal staff or other internal users that are tech savvy enough to use the admin.
There are several third party project such as AdminPlus, but they require the user to redefine the Admin.site object. This is fine for developers who are setting up a Django project, but not ideal for developers who are writing third party tools for other developers to use in their projects.
django-admin-views attempts to solve this by simply overriding the admin templates to provide two features:
Easily define custom admin views and link them on the admin pages
Easily add in external URL links
Installation Steps
pip install django-admin-views
Add admin_views to INSTALLED_APPS in your settings.py
Run the management command admin_views_install_templates to install the necessary modified admin index template to your project’s TEMPLATE_DIRs. You will be prompted for which of these directories you would like it installed in if there are multiple directories defined.
Usage
All of this magic happens in your model’s admin definition. You simply subclass your admin from AdminViews instead of the standard admin.ModelAdmin. In this example we have a custom view that does nothing but redirect the user to CNN and a direct URL link that goes to my company’s homepage:
from django.contrib import admin from django.shortcuts import redirect from admin_views.admin import AdminViews from example_app.models import TestModel class TestAdmin(AdminViews): admin_views = ( ('Redirect to CNN', 'redirect_to_cnn'), ('Go to revsys.com', 'http://www.revsys.com'), ) def redirect_to_cnn(self, *args, **kwargs): return redirect('http://www.cnn.com') admin.site.register(TestModel, TestAdmin)
These will now show up in the admin below the usual Django admin model CRUD interfaces for example_app with a couple of different icons to distinquish between custom admin views and a direct URL link.
With this third-party developers need only instruct their users to install their app, django-admin-views and run the admin_views_install_templates command.
Hope you find it useful and as always feedback is certainly welcome.
Screenshot
Attribution
Blue link icon on direct URLs by http://www.doublejdesign.co.uk/
Admin view icon by http://www.fatcow.com/
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.