如何在django rest swagger中添加图片上传字段

时间:2014-08-29 09:41:51

标签: django rest swagger

我正在使用Django休息招摇。在rest框架UI中添加了一个显示给序列化程序的图像。但是不要出现在Swagger UI中。

在序列化程序中添加了以下字段。       upload_photo = serializers.ImageField(required = False)

但招摇的是显示一个简单的文本字段。休息框架显示上传字段。任何人都可以帮我在swagger ui中显示上传字段

3 个答案:

答案 0 :(得分:1)

对于文件字段,您可以覆盖字段的YAML doctstring:

NSComparisonResult comparisionresult;
NSString * alphabet1;
NSString * alphabet2;


// Case 1

alphabet1 = @"a";
alphabet2 = @"A";
comparisionresult = [alphabet1 caseInsensitiveCompare:alphabet2];

if (comparisionresult == NSOrderedSame)
    NSLog(@"a and a are same. And the NSComparisionResult Value is %ld \n\n", comparisionresult);
//Result: a and a are same. And the NSComparisionResult Value is 0

// Case 2
alphabet1 = @"a";
alphabet2 = @"B";
comparisionresult = [alphabet1 caseInsensitiveCompare:alphabet2];

if (comparisionresult == NSOrderedAscending)
    NSLog(@"a is greater than b. And the NSComparisionResult Value is %ld \n\n", comparisionresult);
//Result: a is greater than b. And the NSComparisionResult Value is -1

// Case 3
alphabet1 = @"B";
alphabet2 = @"a";
comparisionresult = [alphabet1 caseInsensitiveCompare:alphabet2];

if (comparisionresult == NSOrderedDescending)
    NSLog(@"b is less than a. And the NSComparisionResult Value is %ld", comparisionresult);

//Result: b is less than a. And the NSComparisionResult Value is 1

答案 1 :(得分:0)

为什么不使用图片网址更好地工作,ImageField给了我无穷无尽的问题,你可以通过upload_photo.url调用图像返回与普通文本中的upload_photo相同的值

答案 2 :(得分:0)

您应该像这样更改解析器:

from rest_framework import permissions, viewsets
from rest_framework.mixins import (CreateModelMixin, DestroyModelMixin,
                                   ListModelMixin, RetrieveModelMixin)
from rest_framework.parsers import FormParser, MultiPartParser
from .models import Customer
from .permissions import CustomerPermission
from .serializer import CustomerSerializer


class CustomerViewSet(CreateModelMixin, ListModelMixin, RetrieveModelMixin, 
                      DestroyModelMixin, viewsets.GenericViewSet):
    permission_classes = [CustomerPermission]
    queryset = Customer.objects.all()
    serializer_class = CustomerSerializer
    parser_classes = (FormParser, MultiPartParser)

之后,您可以检查您的招摇: enter image description here