这是简单的代码来测试html.and中的重定向,我使用Spyder编写Python代码。GAE有效,但导入webapp2失败Spyder
import webapp2
from valid_day import valid_day
from valid_month import valid_month
from valid_year import valid_year
from html_escape import escape_html
form = """
<form method="post">
What is your birthday?
<br>
<label>
Month
<input type="text" name="month" value="%(month)s">
</label>
<label>
Day
<input type="text" name="day" value="%(day)s">
</label>
<label>
Year
<input type="text" name="year" value="%(year)s">
</label>
<div style="color: red">%(error)s</div>
<br><br>
<input type="submit">
</form>
"""
class MainPage(webapp2.RequestHandler):
def write_form(self, error="", month="", day="", year=""):
self.response.out.write(form %{"error": error,
"month": escape_html(month),
"day": escape_html(day),
"year": escape_html(year)})
def get(self):
self.write_form()
def post(self):
user_month = self.request.get('month')
user_day = self.request.get('day')
user_year = self.request.get('year')
month = valid_month(user_month)
day = valid_day(user_day)
year = valid_year(user_year)
if not(month and day and year):
self.write_form("That doesn't look valid to me, friend.", user_month, user_day, user_year)
else:
self.redirect("/thanks")
class ThanksHandler(webapp2.RequestHandler):
def get(self):
self.response.out.write("Thanks! That's a totally valid day!")
app = webapp2.WSGIApplication([('/', MainPage),
('/thanks', ThanksHandler)],
debug=True)
而代码GAE和我http://localhost:8081/运行良好,但是失败了,当我试图通过在Spyder.the错误信息点击运行该代码是: 导入错误:没有模块名为webapp2的 我已经也看过import webapp2 works on google-app-engine even though I don't have webapp2 installed 并添加GAE目录到我的〜/ .bashrc老乡:
export PYTHONPATH="$PYTHONPATH:/home/lehr/Web/google_appengine/"
export PYTHONPATH="$PYTHONPATH:/home/lehr/Web/google_appengine/lib/"
export PYTHONPATH="$PYTHONPATH:/home/lehr/Web/google_appengine/lib/yaml"
但这也不能使用,即使我重新启动Ubuntu的工作。
thanks Dan,I只是想知道如果我不使用这个IDE,当我真的需要类似调试和自动完成功能时,我可以使用什么工具进行开发。 –
我正在使用PyCharm,它同时具有这两种功能。但是对于GAE应用程序,调试器对于我的口味来说有点太慢,并且认为它很实用(可能也是因为运行了SDK),所以大多数时候我都使用基于日志的调试。付费专业版本为GAE提供了一些内置的自定义功能,免费社区版本不支持(但我想可以手动设置大部分功能)。 –