NDB中的TextProperty字段得到" ="在每一行之后追加

时间:2014-04-21 22:46:10

标签: google-app-engine app-engine-ndb

我有一个非常奇怪的案例,我一天都无法调试。

在我的前端,我有textarea和提交按钮的表单。 提交时,textarea字段将保存为ndb.TextProperty() 当我提交多行文本时,数据库中的文本在每一行都会显示==20个字符。起初我以为它们是随机插入的,但似乎每个76个字符都有一个=个字符。

这很难调试,因为在我的localhost实例上它运行得很好,但是在部署版本上却没有。它们都是同步的。同样在我的localhost实例上,数据存储区实体上的文本字段正确显示换行符和制表符,但在部署的版本上,数据存储区字段显示为一个没有换行符或制表符的文本blob。

任何人都可以引导我走向正确的方向吗?

2 个答案:

答案 0 :(得分:4)

哦,BlobStoreHandler你没有在原来的问题中提到过。

好的,你的问题。

我不相信你能把两者结合起来。如果要上传到Blobstore,则无法执行其他表单元素,因为上载将定向到BlobStore服务。

来自文档

  

用户通过提交包含一个HTML表单的HTML表单来创建blob   或更多文件输入字段。您的应用程序调用create_upload_url()   获取此表单的目标(操作),传递函数a   应用程序中处理程序的URL路径。当用户提交时   表单,用户的浏览器直接将指定的文件上传到   Blob存储区。 Blobstore重写用户的请求并存储   上传文件数据,用一个或多个替换上传的文件数据   相应的blob键,然后将重写的请求传递给   您提供给create_upload_url()的URL路径的处理程序。这个   handler可以根据blob键进行额外的处理。

所以很难在没有看到你的代码的情况下确切地说出发生了什么,但我很怀疑你能做到你想要实现的目标。

答案 1 :(得分:0)

我也有同样的问题,

我以一种不优雅但功能性的方式解决了它:

我对输入进行了替换;

这是代码

input_html_text = unicode(self.request.get('text')).replace('=\r\n', '')
相关问题