gpt4 book ai didi

python - 可以将整个 POST 作为 JSON 对象发送吗?

转载 作者:行者123 更新时间:2023-11-28 22:39:31 24 4
gpt4 key购买 nike

我正在使用带有 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 才能工作之外,我可能会遗漏这样做的一些缺点。这样做是否可以,或者在重新排列我的代码之前我应该​​考虑什么?

最佳答案

您的以 JSON 为中心的简短代码变体绝对没有错(如今很少有网络应用程序愿意支持没有 Javascript 的客户端:-)。

当然,您只需要调整准备该 POST 的客户端代码,从传统的 HTML 表单到更丰富的 JS 方法。但是,我敢肯定你已经意识到这一点——只是拼写出来!-)

顺便说一句,这里没有任何特定于 App Engine 的内容:无论您选择如何部署服务器,同样的注意事项都适用。

关于python - 可以将整个 POST 作为 JSON 对象发送吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34683307/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com