繁体   English   中英

刚开始使用Google App Engine并受到空白页的欢迎

[英]Just getting started on Google App Engine and being greeted with a blank page

我目前正在参加Udacity的CS253(网络开发)课程,并且正在通过第二个家庭作业项目(ROT13)网站。 我关注了这次演讲,并且我对naisho.py文件中的代码有很好的掌握,该文件位于此处:

import webapp2
import codecs
import cgi

form = """
<form method="post">
    Tell me a secret...
    <br>
    <input type="text" name="secret" value="%(secret)s">

    <div style="color: red">%(error)s</div>

    <br>
    <br>

    <input type="submit">
</form>
"""

class MainPage(webapp2.RequestHandler):

    def process(s):
      return codecs.encode(s, "rot_13")

    def escape(s):
      return cgi.escape(s, quote = True)

    def write_form(self, error="", secret=""):
      self.response.out.write(form % {"error": error, 
                                      "secret": escape(secret)})

    def get(self):
        #self.response.headers['Content-Type'] = 'text/plain'
        self.write_form()

        #self.response.headers['Content-Type'] = 'text/plain'
        #self.response.write(self.request)

    def post(self):
        self.redirect('/thanks')

  class ThanksHandler(webapp2.RequestHandler):
    def get(self):
      n = process(secret)
      self.response.out.write(n)

    def escape(s):
      return cgi.escape(s, quote = True)

application = webapp2.WSGIApplication([
    ('/', MainPage), ('/thanks', ThanksHandler)], debug=True)

和文件app.yaml提供:

application: naisho
version: 1
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /.*
  script: naisho.application

我导航到终端中的文件夹(我使用OSX 10.9.3),输入dev_appserver.py --port=9999 . 加载localhost:9999 ,但是当我将其加载到浏览器中时得到一个空白页。 我绝对对为什么感到困惑。 有人可以指出我正确的方向,也可以指出我的参考方向以更好地诊断这类问题吗? 提前谢谢大家。

首先,您的代码包含一些错误和缩进问题。

错误在于转义和处理是类的方法,因此它们应包含self作为其第一个参数,并称为self.escape或self.process。 一种替代方法是将这些方法作为函数移出类。

完成此操作后,在控制台中,除了令人讨厌的303错误之外,您应该不会在Stack Traces中看到任何隐藏的错误。

无论出于何种原因,在开发服务器上运行时,我也会收到303错误,但是如果将其部署到App Engine实例,它会顺利运行。

您可以先尝试将其部署到App Engine,然后查看它们的日志以捕获您的错误/缩进,因为这样可以更轻松地发现它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM