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

标签 django forms google-app-engine blobstore django-nonrel

我正在 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/

相关文章:

ruby-on-rails - Rails 选择选项 - 将第一个选项设置为禁用、选中

java - 哪个版本的 ReSTLet 框架适合 GWT 和 GAE 项目?

google-app-engine - 是否可以更改实体的命名空间 (NDB)

python - GQL 请求 BadArgument 错误。如何处理我的案子?

python - 改进在 Python 3.7 标准环境中运行 Django 的 Google App Engine 的冷启动时间

python - Django 没有名为 elasticsearch_dsl.connections 的模块

javascript - Safari 不读取 Jquery 表单提交上的提交按钮值

javascript - jsfiddle 错误 {"error": "Please use POST request"} when submitting a form

python - 如何在 Django 中创建类似 controller/action/id 的 url 模式?

mysql - 运行显式创建表的迁移时未创建 Django 表。