2012-06-15 3 views
1

3 일 전 나는 어떻게 작동하는지 알아보기 위해 Google App Engine을 사용하기 시작했습니다.appengine에 새 앱 추가

"안녕하세요"라고 인쇄하는 기본 앱을 설정했습니다. 복잡한 것은 없습니다. 나는 간단한 응용 프로그램을 업데이 트 thet "안녕하세요"응용 프로그램을 인쇄하고 완벽하게 일했습니다.

은 그 때 나는 좀 더 실험을하고 싶었 : 내가 한

먼저 나는 (내가 단지의 main.py, 애플리케이션 제목을 변경 didint) 그럼 난 빈 화면을 가지고 새로운 프로그램을 업로드한다는 것입니다.

그런 다음 새 버전의 app (예 : app.yaml 및 main.py에서 변경된 버전)을 업로드했는데, 백엔드에서 admin의 버전을 변경했습니다. 나는 여전히 빈 화면이있다.

감사합니다.

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

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

앱이 작동 할 수없는 로컬 호스트

+0

코드를 게시해야합니다. 어떤 정보도없이 무엇이 잘못되었는지 짐작하기가 꽤 어렵습니다. 앱이 로컬 SDK에서 작동합니까? 'print'로 무엇을 의미합니까? – aschmid00

답변

1

에 잘 작동합니다

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

애플리케이션 제목을 main.py :

이 내 코드입니다. 내부에 print hello이있는 파일을 작성하기에는 충분하지 않습니다. WSGI 응용 프로그램을 만들고 요청을 처리하고 hello world을 쓰는 RequestHandler를 만들어야합니다.

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() 

처음 시작 설명서를 읽어야합니다.

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

것은 잘 작동합니다 : https://cloud.google.com/appengine/docs/standard/python/

+0

대단히 감사합니다. – depecheSoul

+0

우리는 특정 라인에 투표를 할 수 없다! –

+0

@MarkFinch 여기에 어떤 라인을 upvote 하시겠습니까? – aschmid00

2

귀하의 CGI 스크립트는 브라우저가 HTTP 헤더로 첫 번째 줄을 때문에, 텍스트를 출력하기 전에 적어도 하나의 빈 줄을 인쇄 할 필요가있다.

빈 줄 앞에 실제로 유효한 HTTP 헤더를 인쇄하는 것이 가장 이상적입니다.

dev_appserver는 프로덕션 서버와 조금 다르게 동작하므로 출력이 로컬에서 실행되는 것을 볼 수 있습니다.

(그러나 WSGI 프레임 워크를 사용하는 것이 좋습니다.)

+0

당신이 말하는 것에 대해 확실합니까? WSGI 응용 프로그램 및 요청 처리기 없이는 아무 것도 할 수 없다고 생각합니다. 인쇄 할 수 없습니다.이 인쇄물은 어디에 나타 납니까? 로그 메시지가 아니라 콘솔과 요청 처리기가 아니라 브라우저에 없습니다. – aschmid00

+0

예, 전적으로 확신합니다. 직접 테스트했습니다. 하지만 downvote 주셔서 감사합니다. – geoffspear

+1

2.5의 스크립트 (및 app.yaml에서 WSGI 응용 프로그램 대신 스크립트를 지정하는 경우 스레드 세이프가없는 2.7)는 CGI로 실행됩니다. 물론 인쇄 할 수 있습니다. webapp이 출력을 서버로 어떻게 보냈는지 어떻게 생각하세요? – geoffspear