A package to generate CRUD endpoints for registered models with the Django-REST Framework.
Project description
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 Classpermission_classes
: A list of Permission classespagination_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
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
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 129fe4cce4dc1bf28f43810bf8939403cf99a0a303a61c5ad2ddf9d4b3d452a9 |
|
MD5 | da94bb9574c3992fc2ebca152c587f53 |
|
BLAKE2b-256 | 683a348a1cbf9f1ab34ab9ad9c21f6b7178971382f4e10e6756acc6367637b25 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 209b6ca721406765c3567f7adcbe0cbc5471c665f136d8f059cf26b0a14faeb7 |
|
MD5 | 1ff2d748362df95e6dad479ed13e64c4 |
|
BLAKE2b-256 | f01a8b258dfa6f8ba452d07a1c3e54786b7e953eef400ccf5f921e5e63cebae8 |