标签: django-rest-swagger

为 get 和 post 请求定义不同的架构 - AutoSchema Django Rest Framework

我正在尝试为 Django REST 框架中的 REST API 定义 AutoSchema(将在 django Rest Framework swagger 中显示)。这个类扩展了 APIView。

该类具有“get”和“post”方法。喜欢:

class Profile(APIView):
permission_classes = (permissions.AllowAny,)
schema = AutoSchema(
    manual_fields=[
        coreapi.Field("username",
                      required=True,
                      location='query',
                      description='Username of the user'),

    ]
)
def get(self, request):
    return
schema = AutoSchema(
    manual_fields=[
        coreapi.Field("username",
                      required=True,
                      location='form',
                      description='Username of the user '),
        coreapi.Field("bio",
                      required=True,
                      location='form',
                      description='Bio of the user'),

    ]
)
def post(self, request):
    return
Run Code Online (Sandbox Code Playgroud)

问题是我想要不同的 get 和 post 请求模式。如何使用 AutoSchema 实现这一目标?

python django django-rest-framework django-rest-swagger

5
推荐指数
1
解决办法
4584
查看次数

Django Rest swagger 文档显示选择文件作为字符串

我正在使用 djangorest 框架 djangorestswagger 创建简单的 swagger 文档。

Python: 3.6
Django: 3.0.3
django-rest-swagger: 2.2.0
djangorestframework: 3.11.0
Run Code Online (Sandbox Code Playgroud)

这是Models.py

class Image(models.Model):
    file = models.ImageField(upload_to='photos', null=True, blank=True)
    is_active = models.BooleanField(default=False, null=True, blank=True)
    created_at = models.DateTimeField(default=timezone.now)

    class Meta:
        db_table = 'image'

    def __str__(self):
        return self.file.name
Run Code Online (Sandbox Code Playgroud)

我创建了serializers.py

class ImageSerializer(serializers.ModelSerializer):

    class Meta:
        model = Image
        fields = ('id', 'file', 'created_at')
Run Code Online (Sandbox Code Playgroud)

这里还有image_view.py

from rest_framework import generics
from rest_framework.parsers import FormParser, MultiPartParser, FileUploadParser

from api.serializers import ImageSerializer
from api.models import Image


class ImageView(generics.CreateAPIView):
    serializer_class = ImageSerializer …
Run Code Online (Sandbox Code Playgroud)

django-rest-framework django-rest-swagger

5
推荐指数
1
解决办法
1557
查看次数

将基本URL添加到Django Rest Swagger

我找不到将BASE URL添加到的方法django rest swagger.我尝试添加

SWAGGER_SETTINGS = {
    "base_path": 'localhost:62090/',
}
Run Code Online (Sandbox Code Playgroud)

settings.py.但它不起作用.

django-rest-framework swagger-ui django-rest-swagger

3
推荐指数
1
解决办法
2157
查看次数

如何在 django-rest-swagger 包中只显示一些 URL 文档

我正在使用Django-rest-swaggerPackage 来记录我的 API,但我只想显示一些 URL 来记录我的项目中有几个应用程序 - 有些答案是 USE Exclude 但最新版本它不起作用 - 我正在使用djangorestframework==3.5.1Django-rest-swagger==2.1.0Django-rest-framework用于 API。

我什至尝试过渲染模式和get_swagger_view(title='API Documentation', patterns=urlpatterns1).

但它不起作用。

帮我找到解决办法。

python django-rest-framework django-rest-swagger

2
推荐指数
1
解决办法
1095
查看次数

Django REST Swagger HTTPS请求

如何配置django-rest-swagger获得HTTPS请求?

upd:存在SSL证书,并且所有应用程序都在使用它,但是大摇大摆地发出了HTTP请求。

python django django-rest-framework swagger-2.0 django-rest-swagger

1
推荐指数
1
解决办法
1318
查看次数

Django - ImportError:无法为 API 设置导入“drf_yasg.generators.OpenAPISchemaGenerator”

我正在尝试将https://github.com/axnsan12/drf-yasg这个库添加到我们的 django 应用程序并收到以下错误。

permission_classes=(permissions.AllowAny,),
  File "/env/lib/python3.7/site-packages/drf_yasg/views.py", line 67, in get_schema_view
    _generator_class = generator_class or swagger_settings.DEFAULT_GENERATOR_CLASS
  File "env/lib/python3.7/site-packages/drf_yasg/app_settings.py", line 122, in __getattr__
    val = perform_import(val, attr)
  File "env/lib/python3.7/site-packages/rest_framework/settings.py", line 166, in perform_import
    return import_from_string(val, setting_name)
  File "env/lib/python3.7/site-packages/rest_framework/settings.py", line 180, in import_from_string
    raise ImportError(msg)
ImportError: Could not import 'drf_yasg.generators.OpenAPISchemaGenerator' for API setting 'DEFAULT_GENERATOR_CLASS'. ImportError: cannot import name 'URLPattern' from 'rest_framework.compat' (env/lib/python3.7/site-packages/rest_framework/compat.py).
Run Code Online (Sandbox Code Playgroud)

经过一番研究,我发现有些人建议安装这个包来解决这个问题

pip3 install packaging 
Run Code Online (Sandbox Code Playgroud)

但这没有任何区别。任何其他好的 api 文档库可用于 django rest api?

django django-rest-framework django-rest-swagger

1
推荐指数
2
解决办法
2816
查看次数