我正在使用Jinja2和Google App Engine。
我用整数num:
识别我的模型class TestModel(db.Model):
value = db.StringProperty()
num = db.IntegerProperty()
并有一个用于编辑值的类:
class Edit(Handler):
def get(self):
#show input box with value, let user edit value, render page with num
def post(self):
#get new value, filter database for model instance BY NUM and replace with new value
我需要在页面上存储num,以便我可以为post方法检索它,但我不希望页面显示它。
我试过了:
<span name = "num" value = "{{num}}"></span>
并且在post方法中我有
num = self.request.get('num')
logging.error("NUM: %s" % num)
但是当我运行它时,num不会显示在日志中(我有“NUM:”)并且我得到了
ValueError: invalid literal for int() with base 10: ''
当我渲染页面时,源代码显示num在那里。为什么这段代码没有正确检索num?
答案 0 :(得分:4)
您是否尝试将字段放入隐藏的输入元素中?即。
<input type="hidden" name="..." value="..."/>
另外,请确保您在帖子中尝试检索的值位于表单标记内。