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
- django-rest-framework
- django.contrib.admin
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 🖼
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.
Source Distribution
Built Distribution
Hashes for django_api_admin-1.1.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1a9ceb080fda74da07a2fe131bdbcd4b633dbfd2b45af5ab60fd855d57985a3 |
|
MD5 | d1b5f75284d14c2716fe6c9f62fd4f64 |
|
BLAKE2b-256 | 562af161433b3bdaefdc6fc44916234be4e9c683da4f7aab46cc21f3bc4a1c5a |