Django Rest Framework and CSVRenderer



我想使用djangorestframework csv,如下所示:

# serializers.py
class ResourceSerializer(serializers.ModelSerializer):
    url = serializers.SerializerMethodField('get_url')
    file = serializers.SerializerMethodField('`enter code here`get_file')
    extra_file = serializers.SerializerMethodField('get_extra_file')
    owner = serializers.SerializerMethodField('get_owner')
    def get_url(self, resource):
        return resource.get_absolute_url()
    def get_file(self, resource):
        return resource.get_file()
    def get_extra_file(self, resource):
        return resource.get_extra_file()
    def get_owner(self, resource):
        return resource.owner.email if resource.owner else None
    class Meta:
        model = Resource
        fields = (
            'name',
            'description',
            'file',
            'extra_file',
            'resource_type',
            'date_uploaded',
            'date_recorded',
            'location',
            'owner',
            'url',
        )
# views.py 
@api_view(['GET'])
@renderer_classes((CSVRenderer, ))
def resources(request):
    """
    Return all public Resources.
    """
    resources = Resource.objects.filter(status='Public')
    return Response(
        ResourceSerializer(
            resources,
            many=True
        ).data
    )

但服务器返回:

响应体细节无法满足请求的Accept标头响应代码406不可接受响应标头{"日期":"2015年2月24日星期二14:36:38 GMT","允许":"OPTIONS,GET","服务器":"WSGIServer/0.1 Python/2.7.3","Vary":"Cookie","内容类型":"text.csv;charset=utf-8"}

我很乐意为这个问题找到任何解决办法。

现在我决定使用django queryset csv包,这几乎"解决"了我的问题。

最新更新