【问题标题】:Python Google AppEngine guestbook app only partially displayed except on localhost:8080Python Google AppEngine 留言板应用程序仅部分显示,除了 localhost:8080
【发布时间】:2014-06-07 03:52:53
【问题描述】:

我按照https://developers.google.com/appengine/docs/python/gettingstartedpython27/introduction 上的教程进行操作(直到并包括第 8 步)。当我使用 Google App Engine Launcher 的“浏览”按钮查看上传的版本 (guestbookruud.appspot.com) 或本地版本时,除了应用程序仅部分显示(登录功能不显示,没有布局)之外,所有运行良好(显示端口 13080)。只有当我通过端口 8080 在本地查看应用程序时,才会按预期显示。

出了什么问题以及如何解决?

问题更新: 启动器中的浏览按钮现在会给出 HTTP500 错误。这是日志(本地):

2014-06-05 22:55:33 Running command: "['C:\\Python27\\python.exe', 'C:\\Program Files (x86)\\Google\\google_appengine\\dev_appserver.py', '--skip_sdk_update_check=yes', '--port=13080', '--admin_port=8005', 'C:\\Users\\ruudn_000\\Documents\\guestbook']"
INFO     2014-06-05 22:55:36,329 devappserver2.py:706] Skipping SDK update check.
WARNING  2014-06-05 22:55:36,351 api_server.py:378] Could not initialize images API; you are likely missing the Python "PIL" module.
INFO     2014-06-05 22:55:36,375 api_server.py:171] Starting API server at: http://localhost:49346
INFO     2014-06-05 22:55:36,384 dispatcher.py:182] Starting module "default" running at: http://localhost:13080
INFO     2014-06-05 22:55:36,390 admin_server.py:117] Starting admin server at: http://localhost:8005
OperationalError('database is locked',)
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\google\appengine\tools\devappserver2\module.py", line 1407, in __call__
    return self._handle_request(environ, start_response)
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\devappserver2\module.py", line 621, in _handle_request
    module=self._module_configuration.module_name)
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\apiproxy_stub.py", line 165, in WrappedMethod
    return method(self, *args, **kwargs)
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\logservice\logservice_stub.py", line 172, in start_request
    host, start_time, method, resource, http_version, module))
OperationalError: database is locked
OperationalError('database is locked',)
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\google\appengine\tools\devappserver2\module.py", line 1407, in __call__
    return self._handle_request(environ, start_response)
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\devappserver2\module.py", line 621, in _handle_request
    module=self._module_configuration.module_name)
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\apiproxy_stub.py", line 165, in WrappedMethod
    return method(self, *args, **kwargs)
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\logservice\logservice_stub.py", line 172, in start_request
    host, start_time, method, resource, http_version, module))
OperationalError: database is locked

【问题讨论】:

  • 13080 是管理端口还是端口?也许 13080 是 Admin,而正确的端口是 8080?需要更多信息。
  • 8005 是管理端口,13080 是端口,两者都显示在此应用程序行的启动器中。但是,使用 localhost:8080 可以正确显示应用程序。
  • 日志说什么?从管理控制台检查“日志”页面。
  • 日志显示没有错误,只有 404 188 个响应代码用于网站图标响应消息,其余 200 291 个响应消息。最初日志中有索引错误;然而,通过运行本地请求然后再次上传很快就解决了这个问题。
  • 我正在运行最新的开发 SDK 1.9.6。我很乐意提供更多信息,只是我不知道什么是相关的。就源代码而言,我完全按照提供的步骤复制了代码。首先,我安装了开发 SDK 的更新(从 1.9.2 版开始)。我输入 dev_appserver.py guestbook/ 启动本地服务器,在端口 8080 上运行“默认”,没有错误消息。除了不显示网页的全部内容之外,没有任何错误消息出现。

标签: python google-app-engine


【解决方案1】:

找到了,我在与上传文件的目录不同的项目目录中工作;虽然相当愚蠢,但这解释了发生了什么......

【讨论】:

    猜你喜欢
    • 2022-01-01
    • 1970-01-01
    • 2015-09-06
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多