Python 2.7 当我访问localhost:9080时,我得到的只是一个空白页
我一直在使用udacity.com学习编程,但我的代码(python)遇到了一些问题。该应用程序是允许写下你出生的日期的帖子,当你按下提交按钮时,它的帖子会说“谢谢,这是一个完全有效的一天!”。它没有这样做。应用程序只是重新启动。有人能告诉我为什么is语句不起作用以及如何修复它吗Python 2.7 当我访问localhost:9080时,我得到的只是一个空白页,python-2.7,google-app-engine,Python 2.7,Google App Engine,我一直在使用udacity.com学习编程,但我的代码(python)遇到了一些问题。该应用程序是允许写下你出生的日期的帖子,当你按下提交按钮时,它的帖子会说“谢谢,这是一个完全有效的一天!”。它没有这样做。应用程序只是重新启动。有人能告诉我为什么is语句不起作用以及如何修复它吗 import webapp2 form=""" <form> What is your birthday? <br> <label
import webapp2
form="""
<form>
What is your birthday?
<br>
<label>Month<input type="type" name="month"></label>
<label>Day<input type="type" name="day"></label>
<label>Year<input type="type" name="year"></label>
<div style="color: red">%(error)s</div>
<br>
<br>
<input type="submit">
</form>
"""
class MainPage(webapp2.RequestHandler):
def write_form(self, error=""):
self.response.out.write(form % {"error": error} )
def get(self):
self.write_form()
def post(self):
user_month = valid_month(self.request.get('month'))
user_day = valid_day(self.request.get('day'))
user_year = valid_year(self.request.get('year'))
if not (user_month and user_month and user_year):
self.write_form("That doesn't look valid to me, friend.")
else:
self.response.out.write("Thanks! That's a totally valid day!")
app = webapp2.WSGIApplication([('/',MainPage)], debug=True)
导入webapp2
form=”“”
你的生日是什么?
月
白天
年
%(错误)s
"""
类主页(webapp2.RequestHandler):
def写入表单(self,error=”“):
self.response.out.write(格式%{“error”:error})
def get(自我):
self.write_form()
def post(自我):
用户月份=有效月份(self.request.get('month'))
user\u day=valid\u day(self.request.get('day'))
用户年=有效年(self.request.get('year'))
如果不是(用户月和用户月和用户年):
self.write_form(“朋友,我觉得这不合理”)
其他:
self.response.out.write(“谢谢!这是一个完全有效的一天!”)
app=webapp2.WSGIApplication([('/',主页)],debug=True)
该片段有语法错误。如果您正在观看终端/控制台,您会注意到Python抱怨else
(缺少尾随:
)。如果您想取得进展,观察控制台并理解它所说的话是关键
修复后,您将看到表单。然后,当您尝试发布时,您将得到一个“405方法不允许”,因为post
方法缩进过多。将Method=“post”添加到您的表单标签上,正好位于文本“What is your birth?”。您正在使用post方法将数据发布到表单,但“提交”按钮不知道您正在使用post,因为标记中没有method=“post”
也可以在你的另一个相关帖子上查看我的答案 您的配置很可能是不正确的,但这只是猜测,因为其他任何人也会尝试回答。这里并没有一个具体的问题需要回答,它基本上是说我的东西不起作用。你的问题不是任何人都能解决的,而是你缺乏信息。链接到外部资源,特别是第三方主机上的图片,是非常不受欢迎的,因为它会导致死链接和无用的问题和答案。我的问题是,为什么一段发布到谷歌应用程序引擎locahost中的代码是空白的。我要求你们检查一下,看看是否有任何错误或遗漏类型。通常应用程序引擎端口是8080而不是9080。我将本地主机更改为8080,但仍然是空白。你们有在谷歌应用程序引擎上使用python的经验吗?我如何不过度缩进帖子?python对缩进非常敏感。在您发布的片段中,
post
方法是get
的私有方法。如果从def post
开始删除缩进,使其与def get
处于同一级别,则路由将看到post
方法。这将解决405错误。代码现在看起来正常吗。这是代码的链接:在(self)
前面缺少def post
。否则,请查找。你也可以编辑你的原始帖子。它可以工作,但当我按提交时,它不会转到“谢谢!”!这是一个完全有效的一天!"". 我在代码中遗漏了什么?