Skip to main content

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:

  1. Easily define custom admin views and link them on the admin pages

  2. Easily add in external URL links

Installation Steps

  1. pip install django-admin-views

  2. Add admin_views to INSTALLED_APPS in your settings.py before admin site, i.e. django.contrib.admin

If you are using a custom Admin Site, you’ll need to configure the ADMIN_VIEWS_SITE setting to point to your admin site instance:

ADMIN_VIEWS_SITE = 'myproject.admin.admin_site'

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 google.com', 'https:/google.com'),
        )

    def redirect_to_cnn(self, *args, **kwargs):
        return redirect('https://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 and django-admin-views.

Hope you find it useful and as always feedback is certainly welcome.

Screenshot

https://raw.githubusercontent.com/koleror/django-admin-views/master/screenshots/admin.png

Author

Frank Wiles frank@revsys.com

Maintainer

Hugo Defrance defrance.hugo@gmail.com

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

django-admin-views-1.0.3.tar.gz (13.8 kB view details)

Uploaded Source

Built Distribution

django_admin_views-1.0.3-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file django-admin-views-1.0.3.tar.gz.

File metadata

  • Download URL: django-admin-views-1.0.3.tar.gz
  • Upload date:
  • Size: 13.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for django-admin-views-1.0.3.tar.gz
Algorithm Hash digest
SHA256 52a8a67b25c3b246dcef75175e354afb8555212c94776a87aaaae042e0db4e60
MD5 1f3e2da4b863e07aa571ad2f4d07a1ab
BLAKE2b-256 22ddbac77daf42bb0dc493229debc4ea3bd27e822e3701619ff1afa8da48e2a8

See more details on using hashes here.

File details

Details for the file django_admin_views-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for django_admin_views-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 84b36b62fc56c9f5e9b256320bc7bddcafc92d0616001aab67648243c3a6df26
MD5 5454830742bc80258b8b00b646dd77d6
BLAKE2b-256 8c1feacbdef623e20e59beb98203b871c2bb2263787c804c75a3b2c9d81f0831

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page