cgi.escape 部分(如下)在开发服务器中抛出回溯,但是当我注释掉 cgi.escape 时,我在 RequestHandler 上收到语法错误。我正在关注 Google 的教程,其中包括 1 个表单的 2 个提交按钮,这对我来说不清楚,就像 /sign? 形成行动;我下面的表单是 1(不是 2)提交按钮,用于组合文本和单选字段表单,所以我不确定我是否正确地完成了最后一部分甚至是表单。我已经为这个工作准备了所有的进口。必须在数据存储区、电子表格或其他任何东西中获取这些用户表单值……非常感谢帮助。
Traceback (most recent call last): Fil "/home/paul/Desktop/google_appengine/google/appengine/ext/webapp/_webapp25.py", line 701, in __call__
handler.get(*groups) File "/home/paul/Desktop/emot/index.py", line 39, in get
cgi.escape(name))) TypeError: not all arguments converted during string formatting
代码:
name=self.request.get("name")
self.response.out.write("""
<form action="/sign?/s" method="post">
<p>First Name: <input type="text" name="name"/></p>
<p><input type="radio" name="mood" value="good">Good</p>
<p><input type="radio" name="mood" value="bad">Bad</p>
<p><input type="radio" name="mood" value="fair">Fair</p>
<p><input type="submit"value="Process"></p>
</form>
</body>
</html>""" % (urllib.urlencode({"name": name}),
cgi.escape(name))) # < < < no string convert HERE
class Info(webapp.RequestHandler): # < < Syntax Error when ^ ^ is commented out.
def post(self):
name = self.request.get("name")
visitor = Visitor(parent=info_key(name))
visitor.content = self.request.get("mood")
visitor.put()
self.redirect("/?" + urllib.urlencode({"name": name}))
application = webapp.WSGIApplication([
("/", MainPage), # < < v v Unsure about these...2 submits?
("/sign", Info)
], debug=True)