2014-09-04 8 views
1

저는 파이썬에서 GAE를 사용하여 simlpe 웹 응용 프로그램을 작성했습니다. 내 response.out.write이 내게 TypeError을주고있다. 오류 메시지는 다음과 같습니다Google App Engine에서 TypeError 받기

self.response.out.write(*a, **kw) 
TypeError: write() takes exactly 2 arguments (3 given) 

파이썬 코드는 다음과 같습니다

import os 

import jinja2 
import webapp2 

template_dir = os.path.join(os.path.dirname(__file__), 'templates') 
jinja_env = jinja2.Environment(loader = jinja2.FileSystemLoader(template_dir)) 

class Handler(webapp2.RequestHandler): 

    def write(self, *a, **kw): 
     self.response.out.write(*a, **kw) 

    def render_str(self, template, **kw): 
     t = jinja_env.get_template(template) 
     return t.render(kw) 

    def render(self, template, **kw): 
     self.write(self, self.render_str(template, **kw)) 

class MainHandler(Handler): 

    def get(self): 
     self.render("shopping_list.html", name="steve") 


app = webapp2.WSGIApplication([('/', MainHandler),], 
          debug=True) 

답변

1

당신은 명시 적으로 write() 방법에 self을 통과 할 필요가 없습니다.

교체 :

self.write(self, self.render_str(template, **kw)) 

로 :

self.write(self.render_str(template, **kw)) 
관련 문제