【发布时间】:2016-01-08 18:02:57
【问题描述】:
我正在使用带有 python 的 GAE,并且我正在使用多种形式。通常,我的代码如下所示:
class Handler(BaseHandler):
#...
def post(self):
name = self.request.get("name")
last_name = self.request.get("last_name")
# More variables...
n = self.request.get("n")
#Do something with the variables, validations, etc.
#Add them to a dictionary
data = dict(name=name, last_name=last_name, n=n)
info = testdb.Test(**data)
info.put()
我最近注意到当表单中有很多输入(变量)时它会变得太长,所以我想也许我可以发送一个字符串化的 JSON 对象(可以使用 json.loads 将其视为 python 字典)。现在它看起来像这样:
class Handler(BaseHandler):
#...
def post(self):
data = validate_dict(json.loads(self.request.body))
#Use a variable like this: data['last_name']
test = testdb.Test(**data)
test.put()
这要短得多。我倾向于以这种方式做事(并停止使用 self.request.get("something")),但我担心除了客户端需要 javascript 才能正常工作之外,我可能会错过这样做的一些缺点。这样做可以吗?或者在重新排列我的代码之前我应该考虑什么?
【问题讨论】:
标签: python json google-app-engine post