我一直收到以下错误: BadArgumentError:期望(())的实例或可迭代;收到了idofOne(str)。
并试图转换为int(),但后来得到一个不同的错误说: ValueError:int()的基数为10的无效文字:''
发生了什么事?我正在使用Google App Engine - 并从html模板中检索idofOne。它是使用jinja的ID表示 - 它显示的值为“1” - 所以它不应该为空 - 任何建议???
class makeHeadings3(Handler):
def get(self):
self.render('new_entries/ADMIN_make_headings3.html')
def post(self):
idofOne = self.request.get("idofOne")
type2=self.request.get("type2")
heading2name = self.request.get("headingTwo")
description2 = self.request.get("descriptionTwo")
heading3 = self.request.get("headingThree")
#getting relevant level 1 entry by id
level_1_info=Level_1_Headings.get_by_id(idofOne)
实际上 - 我将来自我的模板的值从id()更改为key()。但是我发现在我从中检索值的模板中返回空字符串“”。为什么?我在模板中看到了键的值,我正在使用正确的名称“keyofOne”进行检索,那么为什么它会回空我的python服务器代码? 类别1的关键 不要编辑
答案 0 :(得分:1)
您可以先查看:
level_1_info=Level_1_Headings.get_by_id("1")
然后需要在代码中添加debug以查看“idofOne”返回的值
import logging
# snip
logging.info("type "+type(idofOne))
logging.info("value "+idofOne)
我希望这会有所帮助
答案 1 :(得分:1)
下面应该修复它。您需要获取该id的整数值
idofOne = int(self.request.get("idofOne"))
总是在解析post或get参数时,必须先将它们转换为正确的类型,然后再将它们传递给数据存储区查询。