【问题标题】:Django Rest Framework and CSVRendererDjango Rest 框架和 CSVRenderer
【发布时间】:2015-04-26 06:05:49
【问题描述】:

我想像这样使用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",
  “允许”:“选项,获取”,
  "服务器": "WSGIServer/0.1 Python/2.7.3",
  “变化”:“饼干”,
  “内容类型”:“文本/csv;charset=utf-8”
}

我很乐意为这个问题提供任何解决方案。

【问题讨论】:

    标签: python django csv django-rest-framework


    【解决方案1】:

    现在我决定使用django-queryset-csv 包,它几乎“解决”了我的问题。

    【讨论】:

      猜你喜欢
      • 2015-01-04
      • 2015-08-07
      • 2014-04-21
      • 2015-07-16
      • 2020-07-27
      • 2018-06-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多