我正在 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(使用前将#替换为@)