【发布时间】: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