شاید برای شما نیز اتفاق افتاده باشد که از پکیچ rest Django برای ارتباط با API در فریمورک جنگو داشته باشید. django-rest-framework به صورت پیشفرض تمپلیتی برای آنکه بتواند راحتتر با API کار کنید میدهد.
ولی خیلی کامل نیست و کاربر پسند برای برنامه نویسان نیست یکی از بهترین پکیچ که میتواند به شما کمک کند Django swagger است که به شما ui به صورت زیر میدهد.
برای نصب آن
pip install django-rest-swagger
پس از نصب پکیچ در قسمت setting.py پروژه
INSTALLED_APPS = ( ... 'rest_framework_swagger', )
در نهایت مسیر زیر را در url.py اصلی اضافه کنید
from django.conf.urls import url from rest_framework_swagger.views import get_swagger_view schema_view = get_swagger_view(title='Pastebin API') urlpatterns = [ url(r'^$', schema_view) ]
ولی مشکلی وجود داره django swagger دیگر پشتیبانی نمیشود و منغضی شده در همین جهت پکیج جدیدی معرفی شد که واقعا خیلی بهتر عملکرده نسبت به django swagger این پکیج با نام drf-yasg
مزایا اصلی ایم پکیچ
طریقه نصب سادهای داره
pip install -U drf-yasg
در فایل setting.py
INSTALLED_APPS = [ ... 'django.contrib.staticfiles', # برای فایلهای css باید باشه 'drf_yasg', ... ]
در url.py را اضافه کنید:
from rest_framework import permissions from drf_yasg.views import get_schema_view from drf_yasg import openapi ... schema_view = get_schema_view( openapi.Info( title="Snippets API", default_version='v1', description="Test description", terms_of_service="https://www.google.com/policies/terms/", contact=openapi.Contact(email="contact@snippets.local"), license=openapi.License(name="BSD License"), ), public=True, permission_classes=[permissions.AllowAny], ) urlpatterns = [ url(r'^swagger(?P<format>\.json|\.yaml)$', schema_view.without_ui(cache_timeout=0), name='schema-json'), url(r'^swagger/$', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'), url(r'^redoc/$', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'), ... ]
پیشنهاد میکنم ادامه داکیومنت drf-yasg را بخوانید من سعی میکنم قسمتهای اصلی بعدی را در پست بعتی به اشتراک بگذارم.
باتشکر از شما
من را دنبال کنید :