gpt4 book ai didi

python - Django ,休息 : Serialize a text or image file to post via HTTP in JSON

转载 作者:太空宇宙 更新时间:2023-11-04 01:15:19 27 4
gpt4 key购买 nike

运行:Windows 7,Python 3.3。 Django 1.6

背景:我使用 REST 框架在 Django 中创建了一个应用程序,它接受 HTTP“POST”请求以及正文中对象的 JSON 描述,并在 SQL 数据库中创建记录POST' 请求。此类数据库记录的大多数字段要么是整数,如 numOfTests,要么是字符字段,如 result。这些字段由 REST 框架 serializers.py 文件反序列化到 Django 中,据我所知,该文件将纯 json 字符串转换为 Django 中的对象,然后 Django 将它们保存到 SQL 数据库中命令。但是在每个表记录中我们还需要存储一个文本文件,以及一个屏幕截图,我还没有想出如何通过 HTTP 和 JSON 发送这些。

现在我已经阅读了如何通过 Django shell 上传图像文件,这里是 previous question .但是在我的例子中,数据库中的所有数据条目都将由远程计算机完成,全部通过 HTTP 请求正文中的 json。

问题:那么有没有一种方法可以序列化图像文件或txt文件,以便我们办公室的各种远程计算机可以通过json将它们发布到django服务器?

注意:这些 HTTP POST 请求将由脚本发送,在我们的例子中,每次测试完成时(python)它都会发送一个 http POST 到我们的服务器 url,其中包含有关它完成的详细信息。所以没有人手动输入 shell 等将图像保存到 Django 中。

最佳答案

是的,您可以使用 base64 对图像进行编码,然后将它们发布到请求中,但这有点麻烦。如果你只是将 base64 保存到数据库中,那么你最终会得到一个庞大的数据库,这很糟糕。

这里有一个片段使用了 base64,但保存为 ImageField:

http://www.snip2code.com/Snippet/93486/Django-rest-framework---Base64-image-fie

我能看到的唯一问题是它使使用 Firebug(或类似工具)进行调试变得更加困难,因为线路上有大量额外数据。

关于python - Django ,休息 : Serialize a text or image file to post via HTTP in JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25027093/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com