我正在尝试在google appspot上制作一些python脚本。我刚刚开始使用python,所以我现在不太了解它。
我正在使用您可以在google appspot文档中找到的示例代码。但每当我在此代码中提交表单时,我只会得到一个空白页面而没有错误。谁知道为什么?
import cgi
from google.appengine.api import users
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
class MainPage(webapp.RequestHandler):
def get(self):
p = self.request.get("p", default_value="25")
self.response.out.write("""
<html>
<body>
<form action="/" method="post">
The first <input type="text" name="p" value=""" + p + """ style="width: 35px;text-align:center;"> fibionacci numbers:<br />""")
p = int(p)
a, b = 0, 1
while p > 0:
self.response.out.write(str(b) + " ")
a, b = b, a+b
p = p - 1
self.response.out.write("""
</form>
</body>
</html>""")
application = webapp.WSGIApplication([('/', MainPage)],
debug=True)
def main():
run_wsgi_app(application)
if __name__ == "__main__":
main()
提前谢谢。
答案 0 :(得分:1)
哇
如果你正在使用谷歌应用引擎(托管在appspot上,所以我确定你正在使用它),那么你使用这个:
tPostVariable = self.request.get('PostVariableName')
如果您已经设置了这样的处理程序,那么它将自动运行:
class ClassName(webapp.RequestHandler):
#For Get Pages
def get(self):
tPostVariable = self.request.get('PostVariableName')
#For Post Pages
def post(self):
tPostVariable = self.request.get('PostVariableName')
这适用于GET和POST变量。
答案 1 :(得分:0)
你抓住了NameError
。它抛出KeyError
。
答案 2 :(得分:0)
读取存在或不存在的密钥的建议方法是:
p = form.get('p', '0') # 0 = default value
try:
p = int(p)
except ValueError, e:
pass # What do do when p is not an integer?