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上运行良好
答案 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/