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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: django-api-admin-1.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 79d9e009d14ecc97bd0c2f24320b8c7be99e15ccf76575ededf293b4046e81e3
MD5 449c5a486f4b5756f3e21002c465cf6b
BLAKE2b-256 c7e7148cf9119e783f8d3a5f996a8dfc0247cf80033c456ca8ce8a65cbfbb424

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for django_api_admin-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 52e258f8ab3de14f3a2de79e3702682bbf0436852a7127af9974b6b3abd3d0fe
MD5 0cd7f8b68a9b654748b4acad8028bb0a
BLAKE2b-256 b780ca5c3a892a1bbe60cee09c949ca2a32e5e08c02e92e4af26ad98c0e8d47c

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