Android 流动瓶&x2B;Python+;谷歌应用程序引擎首次出现

Android 流动瓶&x2B;Python+;谷歌应用程序引擎首次出现,android,python,google-app-engine,bottle,google-cloud-platform,Android,Python,Google App Engine,Bottle,Google Cloud Platform,作为创建基于云的移动应用程序的第一步,我选择了谷歌云试用期。因此,按照中的说明,我安装了Google cloud SDK和Google App engine,并按照说明中的说明尝试了以下代码片段 from bottle import Bottle bottle = Bottle() # Note: We don't need to call run() since our application is embedded within # the App Engine WSGI applica

作为创建基于云的移动应用程序的第一步,我选择了谷歌云试用期。因此,按照中的说明,我安装了Google cloud SDK和Google App engine,并按照说明中的说明尝试了以下代码片段

from bottle import Bottle

bottle = Bottle()

# Note: We don't need to call run() since our application is embedded within
# the App Engine WSGI application server.


@bottle.route('/')
def hello():
    """Return a friendly HTTP greeting."""
    return 'Hello World!'


# Define an handler for 404 errors.
@bottle.error(404)
def error_404(error):
    """Return a custom 404 error."""
    return 'Sorry, nothing at this URL.'
按照指示,我

  • 使用以下命令登录Google云平台:
    gcloud auth login
  • 使用以下命令安装Python应用程序引擎包:
    gcloud组件更新gae Python
  • 使用以下命令启动本地服务器:
    dev\u appserver.py appengine try python black

  • 但是,它生成了以下日志(显然我不允许在这里共享,因为我在这里没有获得一些分数),localhost:8080为空。你能帮我理解我在这里遗漏了什么吗?

    好吧,作为初学者,我认为你不应该在GAE上使用瓶子(或任何其他不受支持的框架)。使用它们是可能的,但并不简单。这可能会阻止你的GAE应用程序启动。在所有情况下,我们都需要更多的调试数据

    尝试使用Webapp2。这是我使用过的第一个python框架,但它使用起来非常简单(实际上,只不过是烧瓶或瓶子)。这是文件:


    如果你真的想使用瓶子,作为一个符合WSGI的微框架,显然在GAE上设置它并不难。也许你可以试着让它发挥作用。还有一些可能会帮助您引导您的项目。

    将瓶子.py放入根目录并部署到GAE后,以下代码应该可以工作(模板、静态_文件等可能会对应用程序的进一步开发有用,因此我将离开它们):

    从瓶子导入路线、运行、模板、视图、请求、响应
    从瓶子导入静态文件
    从瓶子进口
    从瓶子导入默认应用程序
    从瓶子导入url
    @路由(“/login”)
    def getHandlerLogin():
    返回“你好,世界”
    app=默认值_app()
    
    在GAE中使用瓶子一点也不困难,但从长远来看,使用webapp2可能更容易。

    在这里寻找答案:


    这些说明对我来说非常有效。

    如果没有看到日志,调试工作会非常困难。也许将日志上传到某个站点,并向我们显示URL?另外,您是否也有该网站上显示的app.yaml和appengine_config.py?请共享日志。欢迎提供指向解决方案的链接,但请确保您的答案在没有它的情况下是有用的:这样您的其他用户就会知道它是什么以及为什么存在,然后引用你链接到的页面最相关的部分,以防目标页面不可用。
    from bottle import route,run,template, view, request,response
    from bottle import static_file
    from bottle import Bottle
    from bottle import default_app
    from bottle import url
    
    @route('/login')
    def getHandlerLogin():
        return "<h1>Hello world</h1>"    
    
    app=default_app()