From e17e5cc513d54a52940f5d67ec13b9e31c920922 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BC=BA?= <1206709430@qq.com> Date: Sat, 3 Jul 2021 15:54:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=8A=9F=E8=83=BD(dvadmin):=20?= =?UTF-8?q?=E6=8E=A5=E5=85=A5drf-yasg=EF=BC=8C=E8=BF=9B=E8=A1=8Cswagger?= =?UTF-8?q?=E5=BD=A2=E5=BC=8F=E7=9A=84api=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dvadmin-backend/application/settings.py | 3 ++- dvadmin-backend/application/urls.py | 20 +++++++++++++++++++- dvadmin-backend/apps/vadmin/urls.py | 1 - 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/dvadmin-backend/application/settings.py b/dvadmin-backend/application/settings.py index 46b6586..ee46814 100644 --- a/dvadmin-backend/application/settings.py +++ b/dvadmin-backend/application/settings.py @@ -46,6 +46,7 @@ INSTALLED_APPS = [ 'corsheaders', 'captcha', 'django_celery_beat', + 'drf_yasg', # swagger 接口 # 自定义app 'apps.vadmin.permission', 'apps.vadmin.op_drf', @@ -332,4 +333,4 @@ CELERYBEAT_SCHEDULER = 'django_celery_beat.schedulers.DatabaseScheduler' # Back # 接口权限 INTERFACE_PERMISSION = locals().get("INTERFACE_PERMISSION", False) DJANGO_CELERY_BEAT_TZ_AWARE = False -CELERY_TIMEZONE = 'Asia/Shanghai' # celery 时区问题 +CELERY_TIMEZONE = 'Asia/Shanghai' # celery 时区问题 diff --git a/dvadmin-backend/application/urls.py b/dvadmin-backend/application/urls.py index 9ad09e0..3e29ae4 100644 --- a/dvadmin-backend/application/urls.py +++ b/dvadmin-backend/application/urls.py @@ -23,7 +23,21 @@ from django.views.static import serve from rest_framework.views import APIView from apps.vadmin.op_drf.response import SuccessResponse - +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], +) class CaptchaRefresh(APIView): authentication_classes = [] @@ -42,4 +56,8 @@ class CaptchaRefresh(APIView): urlpatterns = [ re_path(r'media/(?P.*)', serve, {"document_root": settings.MEDIA_ROOT}), re_path(r'^admin/', include('apps.vadmin.urls')), + re_path(r'^$', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'), + re_path(r'^swagger(?P\.json|\.yaml)$', schema_view.without_ui(cache_timeout=0), name='schema-json'), + re_path(r'^swagger/$', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'), + re_path(r'^redoc/$', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'), ] diff --git a/dvadmin-backend/apps/vadmin/urls.py b/dvadmin-backend/apps/vadmin/urls.py index ce12d06..622b222 100644 --- a/dvadmin-backend/apps/vadmin/urls.py +++ b/dvadmin-backend/apps/vadmin/urls.py @@ -44,7 +44,6 @@ class CaptchaRefresh(APIView): urlpatterns = [ re_path('api-token-auth/', LoginView.as_view(), name='api_token_auth'), url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')), - url(r'docs/', include_docs_urls(title='接口文档')), re_path(r'^login/$', LoginView.as_view()), re_path(r'^logout/$', LogoutView.as_view()), re_path(r'^getInfo/$', GetUserProfileView.as_view()),