在appengine中添加新应用

时间:2012-06-15 10:47:42

标签: python google-app-engine

3天前我开始使用google appengine来了解它是如何工作的。

我已经设置了打印“你好”的基本应用程序。没什么复杂的。我更新了简单的应用程序打印“你好”的应用程序,它工作得很好。

然后我想再尝试一下:

首先我做的是我上传了新程序(我更改了app.yaml,只是main.py) 然后我有一个空屏幕。

然后我上传了新版本的应用程序(在app.yaml和main.py中更改了版本),我在后端更改了管理员版本。我还有一个空屏幕。

感谢。

这是我的代码: main.py

#!/usr/bin/env python
print 'Hello, World!'

的app.yaml:

application: searchbarrel
version: 2
runtime: python
api_version: 1

handlers:
- url: /.*
  script: main.py

该应用在localhost上运行良好

2 个答案:

答案 0 :(得分:2)

您的CGI脚本在输出文本之前需要至少打印一个空白行,因为浏览器会将第一行作为HTTP标题:

#!/usr/bin/env python
print '\nHello, World!'

会正常工作。

理想情况下,您应该在空白行之前打印实际有效的HTTP标头。

dev_appserver与生产服务器的作用略有不同,这就是您看到输出在本地运行的原因。

(但是,使用WSGI框架是一个好主意。)

答案 1 :(得分:1)

这不行。它还不足以写一个里面有print hello的文件。您需要创建一个WSGI应用程序并创建一个RequestHandler来处理您的请求并写出hello world

main.py

import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

class MainPage(webapp.RequestHandler):
    def get(self):
        self.response.out.write('Hello, World')

app = webapp2.WSGIApplication([('/', MainPage)])

def main():
    application = webapp.WSGIApplication([("/", MainPage)], debug=True)
    run_wsgi_app(application)

if __name__ == "__main__":
    main()

您应首先阅读入门指南。 https://cloud.google.com/appengine/docs/standard/python/