2011-07-17 8 views
0

Google appspot에서 일부 python 스크립트를 만들려고합니다. 저는 파이썬으로 시작하고 있습니다. 그래서 지금은별로 비판적이지 않습니다.Python - 게시물 데이터 가져 오기

Google appspot 문서에서 찾을 수있는 예제 코드를 사용하고 있습니다. 하지만이 코드에서 양식을 제출할 때마다 빈 페이지가 나타나고 오류는 발생하지 않습니다. 왜 그 사람이 누군지 압니까?

import cgi 

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

class MainPage(webapp.RequestHandler): 

    def get(self): 
     p = self.request.get("p", default_value="25") 

     self.response.out.write(""" 
      <html> 
      <body> 
       <form action="/" method="post"> 
     The first <input type="text" name="p" value=""" + p + """ style="width: 35px;text-align:center;"> fibionacci numbers:<br />""") 

     p = int(p) 
     a, b = 0, 1 
     while p > 0: 
    self.response.out.write(str(b) + " ") 
    a, b = b, a+b 
    p = p - 1 

     self.response.out.write(""" 
       </form> 
      </body> 
      </html>""") 


application = webapp.WSGIApplication([('/', MainPage)], 
            debug=True) 

def main(): 
    run_wsgi_app(application) 

if __name__ == "__main__": 
    main() 

감사합니다.

+0

Google 애플리케이션으로는 도움이되지 않지만'form'이 단지 사전 일 경우'print form.keys()'를 사용하여 어떤 키가 있는지 확인할 수 있습니다. 그것이 다른 타입이라면,'print dir (form)'을 사용하여 문서를 제공 할 수 있습니다. 내부적으로 나열하거나'help (form)'를 사용할 수 있습니다. dir 및 help는 새로운 라이브러리를 다룰 때 매우 유용합니다. – tomasz

+0

FieldStorage가 POST에서 컨텐트를 선택하지 않는 경우는 드뭅니다. HTML 문서에 나타나는 양식의 내용을 포함하도록 질문을 편집 하시겠습니까? – SingleNegationElimination

+0

왜 원시 CGI 앱을 작성하려고합니까? 사용할 수있는 프레임 워크가 많이 있습니다. 내장 된 webapp를 포함하여 webapp을 훨씬 덜 고통스럽게 만듭니다. –

답변

1

와우

당신이 appspot에서 호스팅 구글 앱 엔진 (사용하는 경우

그래서 난 확신이 당신이 무엇이다 ' 당신이를 사용)를 사용하여 재 :

이 같은 핸들러를 설정 한 경우
tPostVariable = self.request.get('PostVariableName') 

는 그것은 자동적으로 작동합니다

class ClassName(webapp.RequestHandler): 
    #For Get Pages 
    def get(self): 
     tPostVariable = self.request.get('PostVariableName') 

    #For Post Pages 
    def post(self): 
     tPostVariable = self.request.get('PostVariableName') 

GET 및 POST 변수 모두에 적용됩니다.

+0

시도했지만 다음 오류가 발생했습니다 : : 'self'가 정의되지 않았습니다. Traceback – Jerodev

+0

예제에서 helloworld.py 응용 프로그램처럼 설정되어 있는지 확인하십시오 http://code.google.com/appengine/docs/python/gettingstarted/usingwebapp.html 적절한 내용이 없다면 오류가 발생할 수 있다고 생각합니다. –

+0

고맙습니다. 제 질문을 수정하겠습니다. – Jerodev

0

당신은 NameError를 잡습니다. 그것은 KeyError을 던졌습니다. 존재하거나 존재하지 않는 키를 읽을 수

0

하기 권장 방법은 다음과 같습니다

p = form.get('p', '0') # 0 = default value 
try: 
    p = int(p) 
except ValueError, e: 
    pass # What do do when p is not an integer? 
관련 문제