数据在表单发送时损坏,=\r\n 每 75 个字符在数据中引入一次?

2024-04-07

我正在 Google App Engine 上的 Django nonrel 项目上工作,尽管我感觉我的问题与其中任何一个都没有直接关系。

我在其中一个模型中有一个隐藏字段,其定义如下:

models.CharField(max_length=400, null=True, blank=True,default="{}")

该字段旨在从我的管理员中的小部件接收 JSON 数据,并且在客户端中其值会正确更改。

(正在发送的数据与我的问题无关 - 字段值中的任何字符串都已损坏)

问题是- 当我查看传递给 django save 函数的数据时,我发现每 75 个字符=\r\n数据字符串内。这有效地破坏了字符串,使我的数据变得无用。我不知道这是从哪里来的,也不知道是什么原因造成的。

更多有趣的点:

  • 管理表单有enctype='multipart/form-data',因为我使用 GAE blobstore 上传该表单的文件
  • 我在用着django 文件传输 http://www.allbuttonspressed.com/projects/django-filetransfers以便于使用 blobstore
  • 我检查了从浏览器发出的请求,发出的数据是干净的
  • Django将模型中的数据保存为UTF8

我在谷歌上没有找到任何与我的问题相近的东西......

有没有人有办法解决吗?或者也许是从哪里开始寻找的方向?


所以事实证明问题是由于Google App Engine 中的此错误 http://code.google.com/p/googleappengine/issues/detail?id=2749

我在这里找到了我的解决方案:提交多部分/表单数据表单时应用程序引擎中的编码问题 https://stackoverflow.com/questions/3624226/encoding-problem-in-app-engine-when-submitting-multipart-form-data-forms

使用该线程中的 Andres Bossard 中间件修复解决了该问题

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据在表单发送时损坏,=\r\n 每 75 个字符在数据中引入一次? 的相关文章

随机推荐