【问题标题】:The GAE SDK Console doesn't load the styles anymoreGAE SDK 控制台不再加载样式
【发布时间】:2014-08-20 01:58:56
【问题描述】:

几个月前,我正在开发一个测试 GAE 应用程序。我能够启动启动器并在应用程序端口和 SDK 控制台端口上打开浏览器,它们都运行良好。

然后我安装了 CherryPy,我创建了一个 CherryPy 应用程序,并且能够浏览到该应用程序。

今天我重新启动了 GAE 启动器。当我浏览到我的应用程序页面时,一切正常,在浏览到 SDK 控制台时,它显示正确的内容,但不显示静态文件。

日志中提到了 CherryPy。

  • 我安装的 CherryPy 是否与 GAE 冲突?
  • GAE 是否使用 CherryPy(与我的安装无关)?
  • 如何解决?

例如,当我浏览到 http://localhost:8002/assets/common.css(这是 SDK 控制台使用的 css)时,我得到以下日志:

ERROR    2014-08-19 20:23:08,052 webapp2.py:1553] WSGI response header value u'text/css' is not of type str.
Traceback (most recent call last):
  File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.5.1\webapp2.py", line 1547, in __call__
    return response(environ, start_response)
  File "C:\Program Files (x86)\Google\google_appengine\lib\webob-1.2.3\webob\response.py", line 1021, in __call__
    start_response(self.status, headerlist)
  File "C:\Program Files (x86)\Google\google_appengine\lib\cherrypy\cherrypy\wsgiserver\wsgiserver2.py", line 2155, in start_response
    raise TypeError("WSGI response header value %r is not of type str." % v)
TypeError: WSGI response header value u'text/css' is not of type str.
AssertionError('WSGI start_response called a second time with no exc_info.',)
Traceback (most recent call last):
  File "C:\Program Files (x86)\Google\google_appengine\lib\cherrypy\cherrypy\wsgiserver\wsgiserver2.py", line 1302, in communicate
    req.respond()
  File "C:\Program Files (x86)\Google\google_appengine\lib\cherrypy\cherrypy\wsgiserver\wsgiserver2.py", line 831, in respond
    self.server.gateway(self).respond()
  File "C:\Program Files (x86)\Google\google_appengine\lib\cherrypy\cherrypy\wsgiserver\wsgiserver2.py", line 2115, in respond
    response = self.req.server.wsgi_app(self.env, self.start_response)
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\devappserver2\wsgi_server.py", line 266, in __call__
    return app(environ, start_response)
  File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.5.1\webapp2.py", line 1549, in __call__
    return self._internal_error(e)(environ, start_response)
  File "C:\Program Files (x86)\Google\google_appengine\lib\webob-1.2.3\webob\response.py", line 1021, in __call__
    start_response(self.status, headerlist)
  File "C:\Program Files (x86)\Google\google_appengine\lib\cherrypy\cherrypy\wsgiserver\wsgiserver2.py", line 2137, in start_response
    raise AssertionError("WSGI start_response called a second "
AssertionError: WSGI start_response called a second time with no exc_info.

【问题讨论】:

    标签: python google-app-engine cherrypy


    【解决方案1】:

    GAE Windows 静态文件处理存在错误。它已记录在这里:

    Google App Engine: Won't serve static assets with below error:

    据报道已通过从 Python 2.7.7 更新到 2.7.8 来修复。否则,您需要在 app.yaml 中明确指定静态文件的 MIME 类型,如链接页面所示。​​

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-08
      • 2019-10-29
      • 2013-05-04
      • 1970-01-01
      • 1970-01-01
      • 2020-05-19
      相关资源
      最近更新 更多