【问题标题】:Swagger Django [No operations defined in spec]Swagger Django [规范中未定义操作]
【发布时间】:2020-11-27 07:17:37
【问题描述】:

我一直在尝试将 Swagger 与 Django Application 集成并遇到此错误: 规范中没有定义任何操作!

我的项目结构是

App 
    views.py 
    urls.py
    ..
App2 
    settings.py 
    urls.py
    ..

我将 drf_yasg 用于我的目的。我已经在 settings.py 和 App2 中包含了所有详细信息,我在 urls.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="Testing",
      default_version='v1',
      description="Doc Integration",
      terms_of_service="https://www.google.com/policies/terms/",
      contact=openapi.Contact(email="abc@abc.com"),
      license=openapi.License(name="BSD License"),
   ),
   public=True,
   permission_classes=(permissions.AllowAny,),
)

urlpatterns=[path("admin/", admin.site.urls),
            path("", include("app.urls")),
            path('swagger/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
            path('redoc', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),]

我的类视图(例如(class Att(generic.TemplateView)和方法在App下的views.py中声明。我尝试了@swagger_auto_schema,@api_view等方法来在文档中显示应用程序类和函数。但是它只是返回没有在规范中定义的操作!。

我也尝试使用路由器注册视图,但没有成功,甚至 django-rest-swagger 也失败了。任何帮助表示赞赏。谢谢!

【问题讨论】:

  • 你有一个拼写错误,urlpatters应该是urlpatterns
  • 知道了。但不是因为这个。谢谢
  • @FlouraAngel 你找到解决办法了吗?

标签: django django-rest-framework swagger drf-yasg django-rest-swagger


【解决方案1】:

我有一个由 Django 组成的项目,而且我是 DRF 的新手。我看到“规范中没有定义任何操作!”在尝试作为 Swagger 生成器之一的 def-yasg 时也是如此。希望这种方式对你有用。 我导入了 -> from rest_framework.views import APIView。

views.py 中的类是这样的
类 FeedView(视图)
当我改变类时,这些功能就出现了
类 FeedView(APIView)

我需要处理 @swagger_auto_schema、@api_view 以使我的 API 文档使用正确的参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-09
    相关资源
    最近更新 更多