Skip to main content

DRF-Admin

A package to generate CRUD endpoints for registered models with the Django-REST Framework.

Requirements

Installation

To install run:

pip install drf-admin

Usage

  • Import restadmin in the admin.py
  • Call restadmin.site.register(Model) Model being the model to register
  • Add rest admin to your urls.py file

Prerequisite

  • rest_framework should be properly set up to use this package hitch free

A sample of it's configuration in the settings file:

 REST_FRAMEWORK={
            'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema',
            'TEST_REQUEST_RENDERER_CLASSES': [
                'rest_framework.renderers.MultiPartRenderer',
                'rest_framework.renderers.JSONRenderer',
                'rest_framework.renderers.TemplateHTMLRenderer', ],
            "DEFAULT_AUTHENTICATION_CLASSES": [
                'rest_framework.authentication.SessionAuthentication',
                'rest_framework.authentication.BasicAuthentication'
            ],
            "DEFAULT_PERMISSION_CLASSES": [
                'rest_framework.permissions.AllowAny',
            ]
        }

For example:

models.py

from django.db import models

class TestModel(models.Model):
    age = models.IntegerField()

admin.py

from .models import TestModel
import restadmin

restadmin.site.register(TestModel)

urls.py

from restadmin import site
from django.urls import path




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

Customization

This package allows you to specify the following when registering your model

  • serializer: A Model Serializer Class
  • permission_classes: A list of Permission classes
  • pagination_classs: A Pagination Class

An example of how a call to the register method with all 3 would look is :

restadmin.site.register(TestModel, serializer=AdminSerializer, permission_classes=[ReadOnly], 
                        pagination_class=LargeResultsSetPagination)

Endpoint Documentation

  • This requires you to have coreapi installed

A page to document the Endpoints generated can be accessed by adding the following to your base urls file

from restadmin import site


urlpatterns = [
   ...
    path('restadmin-docs/', site.docs)
    ...
]

Using this would require you to have your default schema Class set in your REST_FRAMEWORK config in your settings.py file E.g

REST_FRAMEWORK = { 'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema' }

Run your server and you can find the documentation at http://127.0.0.1:8000/restadmin-docs NOTE: The Documentation page is restricted to staff only(is_staff has to be True)

Tests

To run the tests:

From the base directory run :

python load_tests.py

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

drf-admin-0.1.1.tar.gz (3.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

drf_admin-0.1.1-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

File details

Details for the file drf-admin-0.1.1.tar.gz.

File metadata

  • Download URL: drf-admin-0.1.1.tar.gz
  • Upload date:
  • Size: 3.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.9

File hashes

Hashes for drf-admin-0.1.1.tar.gz
Algorithm Hash digest
SHA256 129fe4cce4dc1bf28f43810bf8939403cf99a0a303a61c5ad2ddf9d4b3d452a9
MD5 da94bb9574c3992fc2ebca152c587f53
BLAKE2b-256 683a348a1cbf9f1ab34ab9ad9c21f6b7178971382f4e10e6756acc6367637b25

See more details on using hashes here.

File details

Details for the file drf_admin-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: drf_admin-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 3.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.9

File hashes

Hashes for drf_admin-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 209b6ca721406765c3567f7adcbe0cbc5471c665f136d8f059cf26b0a14faeb7
MD5 1ff2d748362df95e6dad479ed13e64c4
BLAKE2b-256 f01a8b258dfa6f8ba452d07a1c3e54786b7e953eef400ccf5f921e5e63cebae8

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page