我正在 Google App Engine 上使用 Django nonrel 开发一个项目,但我感觉我的问题与这些都没有直接关系。
我在其中一个模型中有一个隐藏字段,其定义如下:
models.CharField(max_length=400, null=True, blank=True,default="{}")
该字段旨在从我的管理员中的小部件接收 JSON 数据,并且在客户端中它的值会正确更改。
(发送哪些数据与我的问题无关 - 字段值中的任何字符串都已损坏)
问题是 -
当我查看传递给 django 保存函数的数据时,我发现数据字符串中每 75 个字符就会出现 =\r\n
。这有效地破坏了字符串,使我的数据变得无用。我不知道这是从哪里来的,也不知道是什么原因造成的。
更多有趣的点:
- 管理表单有
enctype='multipart/form-data'
,因为我使用 GAE blobstore 以该表单上传文件 - 我正在使用 django-filetransfers促进与 blobstore 的合作
- 我检查了浏览器发出的请求,发出的数据是干净的
- Django 将模型中的数据保存为UTF8
我在谷歌上没有发现任何与我的问题相近的东西......
有人有解决办法吗?或者可能是从哪里开始寻找的方向?
最佳答案
原来问题是this bug in Google App Engine的结果
我在这里找到了我的解决方案:Encoding problem in app engine when submitting multipart/form-data forms
在该线程中使用 Andres Bossard 中间件修复程序解决了问题
关于django - 数据在表单发送时损坏,=\r\n 每 75 个字符在数据中引入一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11950220/