【问题标题】:google app engine textarea (from form) to datastore谷歌应用引擎文本区域(从表单)到数据存储
【发布时间】:2012-06-23 07:14:45
【问题描述】:

所以我有一个简单的表单,它接受一些输入(两个文本和两个文本区域)并通过一个将所有四个输入放入数据存储区(谷歌应用引擎)的函数来运行它。问题是当我在其中一个 s 中有相当数量的文本时(意思是 5 个段落,每个约 4/5 个句子,..2,000 个字符)。

我在数据存储中使用 TextProperty() s,(对于较小的输入也使用 StringProperty)。当我只为每个单词输入几个单词时,它会起作用,但当我输入大量文本时,它会发生什么情况:出现一个空白网页而不是我的基本确认页面。没有数据传输到数据存储区。

我的处理程序使用 get()(而不是 POST)

为什么会发生这种情况,我该如何解决? 我敢肯定这是一个简单的解决方法,但我对此有些不满。谢谢

【问题讨论】:

  • 你用什么浏览器?
  • 铬。如果它意味着什么,所有文本都会出现在地址栏中,但我很确定这应该发生
  • 我问是因为 IE 限制为 ~2000 个字符。顺便说一句,为什么要 GET?

标签: python forms google-app-engine get textarea


【解决方案1】:

虽然理论上没有限制,但实际上所有浏览器都应用了一些 limits to the query string,并且由于您使用的是 GET 而不是 POST,因此您的所有输入都作为 URL 中的查询参数传递。

当您从输入表单中获取值时,您应该在<form> 中使用正确的method="POST",并使用post() 在您的处理程序中正确处理它。如果您浏览Getting Started,您会找到Handling Forms 的部分。

【讨论】:

  • 使用 POST 也比使用 GET 通常要好得多 - GET 被认为是幂等的,所以你不应该在 GET 请求中做任何有副作用的事情。
猜你喜欢
  • 1970-01-01
  • 2014-10-21
  • 2012-04-11
  • 2013-05-17
  • 1970-01-01
  • 2014-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多