Python 2.7 当我访问localhost:9080时,我得到的只是一个空白页

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

我一直在使用udacity.com学习编程,但我的代码(python)遇到了一些问题。该应用程序是允许写下你出生的日期的帖子,当你按下提交按钮时,它的帖子会说“谢谢,这是一个完全有效的一天!”。它没有这样做。应用程序只是重新启动。有人能告诉我为什么is语句不起作用以及如何修复它吗

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
。否则,请查找。你也可以编辑你的原始帖子。它可以工作,但当我按提交时,它不会转到“谢谢!”!这是一个完全有效的一天!"". 我在代码中遗漏了什么?