2

新手在这里——我一直在尝试使用谷歌应用引擎在瓶子中创建一个“Hello World”。我得到了“hello world”部分显示,但即​​使在索引页面上,我也会得到以下输出:“Hello world!Status:500”
如果我尝试添加新路由(如'/page'路由),然后我导航到新路线,我收到“服务器错误:网站在检索时遇到错误......它可能因维护而关闭或配置不正确。” 在我导航到配置不正确的页面后,如果我尝试返回“/”,我也会收到服务器错误。我已将bottle.py 放在我的根目录中。有人可以帮我正确配置我的文件吗?谢谢!

import bottle 
from bottle import route, template, request, error, debug

@route('/')
def index():
    return "Hello World!"

@route('/page')
def page():
    return 'page!'

bottle.debug(True)
bottle.run(server='gae')
4

3 回答 3

2

这是关于 GAE 瓶的一个很好的教程:http: //blog.rutwick.com/use-bottle-python-framework-with-google-app-engine

免责声明:我没有运行本教程,但它看起来是正确的。

主要.py:

from framework import bottle
from framework.bottle import route, template, request, error, debug
from google.appengine.ext.webapp.util import run_wsgi_app

@route('/')
def DisplayForm():
    message = 'Hello World'
    output = template('templates/home', data = message)
    return output

def main():
    debug(True)
    run_wsgi_app(bottle.default_app())

@error(403)
def Error403(code):
    return 'Get your codes right dude, you caused some error!'

@error(404)
def Error404(code):
    return 'Stop cowboy, what are you trying to find?'

if __name__=="__main__":
    main()

应用程序.yaml:

application: my-bottle-app
version: 1
runtime: python
api_version: 1

handlers:
- url: /styles
  static_dir: styles

- url: /.*
  script: main.py

如您所见,与您的示例代码有许多不同之处。本教程很好地解释了它们,所以我不会在这里详细介绍。

于 2012-10-02T20:41:08.890 回答
2

这可能会有所帮助:

应用程序.yaml:

application: my-app
version: 1
runtime: python27
api_version: 1
threadsafe: yes

- url: .*
  script: main.app

主要.py:

import bottle

@bottle.route('/')
def root():
    return 'hello!'

bottle.run(server='gae', debug=True)
app = bottle.app()

这是来自 GitHub 的原始答案。 https://github.com/defnull/bottle/issues/401

于 2012-11-17T20:14:59.137 回答
0

当在App Engine + Bottle 启动代码中使用 WSGI时,您可以bottle.debug()在您的代码在开发服务器上运行时调用:

import bottle
import os

DEBUG = os.environ.get('SERVER_SOFTWARE','').startswith('Development')  
bottle.debug(DEBUG)
app = bottle.Bottle()

并在app.yaml

handlers:
- url: .*
  script: main.app
于 2016-01-24T20:39:04.213 回答