的cgi.escape部分(下同)投在開發服務器追蹤,但是當我註釋掉cgi.escape,我得到RequestHandler語法錯誤。我正在關注Google的教程,該教程包含2個用於1表單的提交按鈕,對於我而言,它和/符號一樣不清楚?形式行動;我的表單下面是1(不是2)提交按鈕,用於組合文本和電臺字段格式,所以我不確定我是否正確地做了最後一部分,甚至是表格。我已經擁有了所有的進口產品。必須在Datastore,電子表格或其他內容中獲得這些用戶表單值,不勝感激。「字符串轉換的過程中並不是所有的格式ARGS」回溯
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)
感謝Hannele給出了一個清晰的解釋。我應該注意到%...說明符似乎是佔位符。只需刪除參數並在需要時回覆。非常感謝! – p1nesap
@pavl ..你應該開始接受答案,如果他們有幫助..這裏是如何和爲什麼:http://meta.stackexchange.com/a/5235 – Lipis