压缩并下载 Django Rest Framework 生成的 json 文件
Posted
技术标签:
【中文标题】压缩并下载 Django Rest Framework 生成的 json 文件【英文标题】:zip and download Django Rest Framework generated json file 【发布时间】:2014-08-08 16:26:45 【问题描述】:假设我的 django rest 框架应用正在为这个 url 返回这个 json(其中 4 是模型的 pk):http:mydomain.com/model_number/4/?format=json
[
"id": 96,
"title": "title 1",
"picture": "static/uploads/pic1.jpg"
,
"id": 97,
"title": "title 2",
"picture": "static/uploads/pic2.jpg"
,
"id": 98,
"title": "title 3",
"picture": "static/uploads/pic3.jpg"
]
我想创建和下载一个包含上述内容的 json 文件(由 django rest 框架生成)的 zip,以及一个包含 pic1
、pic2
和 pic3
的文件夹。
我可以下载包含这些图片的文件夹的 zip,但我不知道如何包含 json 文件。
不知道是不是和parsers有关:
任何帮助将不胜感激
【问题讨论】:
【参考方案1】:只需使用模型实例作为参数构建序列化程序的实例。序列化器对象具有属性data
。
class YourModel(models.Model):
...
class YourModelSerializer(serializers.ModelSerializer):
...
your_json = YourModelSerializer(YourModel.objects.get(pk=5)).data
你也可以使用带有标志many=True
的查询集:
your_json = YourModelSerializer(YourModel.objects.all(), many=True).data
【讨论】:
谢谢您的回答。这不是我想要的,但它真的很有帮助以上是关于压缩并下载 Django Rest Framework 生成的 json 文件的主要内容,如果未能解决你的问题,请参考以下文章
DRF:如何将 django-rest-framework-jwt 集成到 Djoser
从 Django django-rest-framework 视图有条件地返回 JSON 或 HTML 响应
无法使用 Django Rest 框架发送压缩的 gzip 数据