在没有 Django REST FRAMEWORK 的情况下将 Swagger 文档添加到 Django

Ade*_*iel 10 python api django rest

我正在开发一个 Django 项目,并且需要在不使用 Django Rest-framework 库的情况下构建 API。

我很难找到解决方法,因为大多数可用的库已经与 Django Rest-framework pip 库绑定在一起。

有人可以向我指出使用 swagger 文档的自记录 API 的示例、库或资源吗?

至少支持Python 3.7

kor*_*oro 6

您可以使用 APISpec 生成 API 文档 ( https://pypi.org/project/apispec/ )

APISpec 支持 OpenAPI 和 marshmallow,可以用普通 python 实现,并且不依赖于 Django 框架

您可以通过以下方式使用文档字符串指定文档的内容,

@app.route("/random")
def random_pet():
    """A cute furry animal endpoint.
    ---
    get:
      description: Get a random pet
      security:
        - ApiKeyAuth: []
      responses:
        200:
          content:
            application/json:
              schema: PetSchema
    """
    pet = get_random_pet()
    return PetSchema().dump(pet)
Run Code Online (Sandbox Code Playgroud)

文档: https: //apispec.readthedocs.io/en/latest/

有多种方法可以在不使用 Django REST Framework 的情况下构建 api,其中一些替代方法包括:

FAST API - https://fastapi.tiangolo.com/

烧瓶 - https://flask.palletsprojects.com/en/2.0.x/

Cherrypy - https://docs.cherrypy.dev/en/latest/