Skip to main content

Expose django.contrib.admin as a restful service. useful for adding new features to django admin or writing a new admin.

Project description

Expose django.contrib.admin as a restful service. useful for adding new features to django admin or writing a new admin.

Features ⚡

  • Expose all django.contrib.admin views as a restful api.
  • Similar to django.contrib.admin.
  • Customizable AdminSite and ModelAdmin.
  • Supports InlineModelAdmins and bulk edits.
  • Provides data to dynamically create forms on clients from serializers.
  • Extensively tested

Demo 🚀

You can also test it in this demo that is hosted on replit. use these credentials to login

  • username: admin
  • password: password

Requirements 📄

Python 3.9+

This package depends on

Installation 📲

Install django-api-admin package.

$ pip install django-api-admin

In your settings.py make sure you have django.contrib.admin and rest_framework in your installed apps. and add django_api_admin.

INSTALLED_APPS = [
    'django.contrib.admin',
    'rest_framework',
    'django_api_admin',
]

Example 💡

1. create some models.

models.py

from django.db import models


class Author(models.Model):
    name = models.CharField(max_length=100)

    def __str__(self):
        return self.name


class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.ForeignKey(Author, on_delete=models.CASCADE)

    def __str__(self):
        return self.title

2. register them using the admin site.

admin.py

from django_api_admin.sites import site
from .models import Author, Book

site.register(Author)
site.register(Book)

3. include admin urls.

urls.py

from django_api_admin.sites import site

urlpatterns = [
    path('api_admin/', site.urls),
]

4. run your development server.

$ python manage.py runsever

visit your localhost to see the browsable api.

Screenshots 🖼

browsable_api_root

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-api-admin-1.1.2.tar.gz (24.4 kB view details)

Uploaded Source

Built Distribution

django_api_admin-1.1.2-py3-none-any.whl (28.0 kB view details)

Uploaded Python 3

File details

Details for the file django-api-admin-1.1.2.tar.gz.

File metadata

  • Download URL: django-api-admin-1.1.2.tar.gz
  • Upload date:
  • Size: 24.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for django-api-admin-1.1.2.tar.gz
Algorithm Hash digest
SHA256 e70d611cbae3b2fed01e0065f9698feabe41fde491b32ce98a35a346ec4c9dda
MD5 59f2c54a0f15f66bacc262d990d2bf6b
BLAKE2b-256 95632029a90ade0887690f48ba391cb330a1fbed6f0a62aa52c941c9988d6b13

See more details on using hashes here.

File details

Details for the file django_api_admin-1.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for django_api_admin-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c62d43fe62e93c07bbb9e9a2de8a344bae456a146911ef9e66fc42b7c954e172
MD5 5dd329e07eb92616e9d18cbe2400bffb
BLAKE2b-256 c0ef1492411e7f8dbbee5e92440b3260f24a5bb2f7c6655b9a75fba05e4ef2dc

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