webapp2 사이트 (http://webapp-improved.appspot.com/api/webapp2_extras/jinja2.html)에는 webapp2_extras.jinja2
사용 방법에 대한 자습서가 있으며 아래 코드를 참조하십시오.@ webapp2.cached_property로 Jinja2 인스턴스를 장식하는 이유
제 질문은 : webapp2_extras.jinja2.Jinja2
인스턴스를 캐시하는 이유는 return jinja2.get_jinja2(app=self.app)
입니까? @webapp2.cached_property
의 코드를 확인한 결과 BaseHandler
의 인스턴스에 Jinja2
인스턴스가 캐시 된 것을 발견했습니다.이 요청은 요청 이후에 삭제되므로 캐시하지 않으시겠습니까? 내가 여기서 뭔가 못 찾았 니?
import webapp2 from webapp2_extras import jinja2 class BaseHandler(webapp2.RequestHandler): @webapp2.cached_property def jinja2(self): # Returns a Jinja2 renderer cached in the app registry. return jinja2.get_jinja2(app=self.app) def render_response(self, _template, **context): # Renders a template and writes the result to the response. rv = self.jinja2.render_template(_template, **context) self.response.write(rv)
재미 있군요 ... 똑같은 모습을 보았고 요점을 얻지 못했습니다 ... 하나의 요청에서 두 번 이상 사용 된 것들에 대해 cached_property에 대한 요점이 있습니다 ... – thomasf1