0
Google App Engine을 배우고 있으며 WebApp2 프레임 워크 + Jinja2 템플릿으로 시작했습니다. 템플릿에서 pageone.html HTML 파일도 있습니다Google App Engine WebApp2 템플릿이 작동하지 않습니다.
Main.py
import webapp2
import os
import jinja2
from google.appengine.ext.webapp import template
from google.appengine.api import users
from google.appengine.ext import ndb
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, **params):
t = jinja_env.get_template(template)
return t.render(params)
def render(self, template, **kw):
self, write(self.render_str(template, **kw))
class MainHandler(webapp2.RequestHandler):
def get(self):
self.response.write('Hello world!')
class PageOne(Handler):
def get(self):
self.render('pageone.html')
app = webapp2.WSGIApplication([('/', MainHandler),('/pageone', PageOne)], debug=True)
애플리케이션 제목을
application: tbapp
version: 1
runtime: python27
api_version: 1
threadsafe: yes
handlers:
- url: /favicon\.ico
static_files: favicon.ico
upload: favicon\.ico
- url: .*
script: main.app
libraries:
- name: webapp2
version: "2.5.2"
- name: jinja2
version: latest
:
나는 다음과 같은 코드를 작성했습니다 폴더.
이제 파일을 실행할 때 기본 페이지가 안녕하세요!. 그러나, 나는 http://localhost:8080/pageone을 실행할 때 ..... 다음과 같은 오류를 반환합니다 ..
File "E:\gae_apps\tbapp\tbapp\main.py", line 50, in get
self.render('pageone.html')
File "E:\gae_apps\tbapp\tbapp\main.py", line 40, in render
self, write(self.render_str(template, **kw))
NameError: global name 'write' is not defined
는 사람이 잘못하고 무엇이다, 나를 인도 해주십시오 수 있습니다. 나는 알아낼 수 없다. TIA
'자기를 주는가 교체 write'는'self.write' – Amber
해야 @ 앰버 정말 고맙습니다. 고마워요! ... 그리고 그건 정말 내 부분에 멍청하다. – chhibbz