معرفی شرکت ها


django-restful-admin-1.1.3


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

Python Django RestFul Admin
ویژگی مقدار
سیستم عامل -
نام فایل django-restful-admin-1.1.3
نام django-restful-admin
نسخه کتابخانه 1.1.3
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Amir Mohsen Asaran
ایمیل نویسنده admin@mihanmail.com
آدرس صفحه اصلی https://github.com/amirasaran/django-restful-admin
آدرس اینترنتی https://pypi.org/project/django-restful-admin/
مجوز MIT
# Expose Django's admin as a RESTFUL service - [x] Support all of restful api - [x] Auto generat serializers - [x] Use [Django Rest Framework](http://www.django-rest-framework.org/) - [x] Fully customization support - [x] Using Django Rest Framework ViewSet as AdminModels - [x] Support default Django auth permission - [x] Support Django custom model permission with simple configuration - [x] Using Django Rest Framework Serializer(or ModelSerializer) as request validators - [x] Support Single Serializer class to customize your detail view - [x] Auto generate documentation for CURDs - [x] Pagination and ability to change paginator - [x] Support custom action with permission - [x] Support all features in DRF - [x] Support LogEntry (Log history of objects) ## Todo - [ ] Add some documentation - [ ] Add custom route Api documentation - [ ] Add list_display - [ ] Add Filter And Search - [ ] Add exlude - [ ] Add Fields - [ ] Example inline - [ ] Localization - [ ] Somethings that's need in future ## How To Install pip install django-restful-admin add to `INSTALED_APPS` ``` INSTALLED_APPS = [ ... 'rest_framework', 'django_restful_admin', ... ] ``` ## How To use you need only add the bellow code to `admin.py` in your apps ``` from django_restful_admin import admin from yourapp.models improt FisrtModel, ScoundModel admin.site.register(FisrtModel) admin.site.register(ScoundModel) ``` Then add URL to your project `urls.py` ``` from django_restful_admin import admin as api_admin urlpatterns = [ ... path('apiadmin/', api_admin.site.urls), ... ] ``` Run the project and open URL `http://your-ip:port/apiadmin/` enjoy! ## Change Log - [x] export admin in __init__.py - [x] Add default django auth permissions support - [x] Add admin.register decorator # Customization ### Example Create a new Django project ``` $ django-admin startproject example` $ cd example $ python manage.py startapp blog ``` Create blog app models in `blog/models.py` ``` from django.db import models class Category(models.Model) title = models.CharField( max_length=255 ) class Post(models.Model): title = models.CharField( max_length=255 ) summery = models.TextField() description = models.TextField() category = models.ForeignKey( Category, related_name='products', on_delete=models.CASCADE ) ``` Add your blog app in `INSTALLED_APPS` in `example/settings.py` ``` INSTALLED_APPS = [ # Django default apps... 'rest_framework', 'django_restful_admin', 'blog' ] ``` Add admin URLs to django URLs in `example/urls.py` ``` from django.conf.urls import url from django.contrib import admin from django_restful_admin import admin as api_admin from django.urls import path urlpatterns = [ path('apiadmin/', api_admin.site.urls), # this line added # path('admin/', admin.site.urls), # your apis custom must be set here ] ``` Register your model to restful admin site in `blog/admin.py` ``` from django_restful_admin import admin as api_admin from blog.models import * api_admin.site.register(Post) api_admin.site.register(Category) ``` Add View and use decorators `blog/admin.py` ``` ... @api_admin.register(Category, Product) class MyCustomApiAdmin(BaseRestFulModelAdmin): authentication_classes = (CustomTokenAuthentication,) permission_classes = [IsAuthenticated] ... ``` Read more about authentication and permission DRF [Documentation](https://www.django-rest-framework.org/api-guide/authentication/#authentication). ## Customize serialization At first, you must define your serializer class Make `serializers.py` file in `blog` Open `blog/serializers.py` and make serializer like this: ``` from rest_framework import serializers from .models import * class ProductSerializer(serializers.ModelSerializer): class Meta: model = Product feilds = ('id', 'title') class CategorySerializer(serializers.ModelSerializer): class Meta: model = Category fields = ('id','title) class SingleProductSerializer(serializers.ModelSerializer): category = CategorySerializer(read_only=True) class Meta: model = Product feilds = ('id', 'title', 'summery', 'description', 'category') ``` ``` from .serializers import ProductSerializer, SingleProductSerializer @api_admin.register(Product) class ProductApiAdmin(BaseRestFulModelAdmin): serializer_class = ProductSerializer single_serializer_class = SingleProductSerializer ``` `serializer_class` use for serialize list of objects but `single_serializer_class` use for serializer **view signle object**, **update**, **partial update** and **create**. ## Add a custom route with permission ``` @api_admin.register(Product) class MyCustomApiAdmin(BaseRestFulModelAdmin): @api_admin.action(permission='product.view_product', detail=True, methods=['GET'], url_path=r'my-custom-action/(?P<another_key>[^/.]+)') def my_custom_action(self, request, pk, another_key): pass ## Do what you want to do ## this action make url like this /apiadmin/blog/product/2/my-custom-action/XXX ``` If you want to except permission you just send permission=True, for creating custom permission you can pass **closure function** or **lambda** to permission like this `permission=lambda: view, action, request, obj=None: True` # Contribute If you think you can help me please let's start.


نیازمندی

مقدار نام
>=2.0.0 django
>=3.0.0 djangorestframework


نحوه نصب


نصب پکیج whl django-restful-admin-1.1.3:

    pip install django-restful-admin-1.1.3.whl


نصب پکیج tar.gz django-restful-admin-1.1.3:

    pip install django-restful-admin-1.1.3.tar.gz