如果我有 5 个应用程序(django)和各自的 swagger 文档,是否可以将所有 swagger 文档合并为一个 swagger 文档。我正在使用 django 休息框架。
问问题
583 次
1 回答
0
我假设您的意思是在一个 Django 项目中包含 5 个 Django 应用程序。在这种情况下,是的,您可以,而且非常简单。
以下是我通常如何将应用程序组合成一个 urlpattern::
项目/app1/urls.py:
from django.urls import include, path
from rest_framework.routers import SimpleRouter
from .views import MyModelViewSet, MyClassBasedModelView, my_function_based_model_view
api_router = SimpleRouter()
api_router.register(r"somepattern", MyModelViewSet)
api_urlpatterns = [
path("", include(api_router.urls)),
path("someotherpattern", MyClassBasedModelView.as_view()),
path("yetanotherpattern", my_function_based_view),
]
对每个应用程序中的每个“urls.py”文件执行此操作。然后在主要的“urls.py”(你的设置中引用的那个)做这样的事情:
项目/urls.py:
from app1.urls import api_urlpatterns as app1_api_urlpatterns
from app2.urls import api_urlpatterns as app2_api_urlpatterns
# ...etc...
api_urlpatterns = []
api_urlpatterns += app1_api_urlpatterns
api_urlpatterns += app2_api_urlpatterns
urlpatterns = [
path("api/", include(api_urlpatterns)),
# other (non DRF) views...
]
您只需按照https://drf-yasg.readthedocs.io/en/stable/readme.html#quickstart将标准的drf_yasg内容添加到api_urlpatterns
“project/urls.py”中。
希望这可以帮助。
于 2020-09-07T21:07:37.363 回答