0
我正在關注第一個Udacity課程,並且相信我已按照他們的所有說明進行了操作,但出現錯誤。功能和類繼承
AttributeError: 'MainPage' object has no attribute 'render'
我的代碼如下。在視頻中,它適用於他們,但我不明白爲什麼。當我讀到這段代碼時,render
似乎在Handler
類中,我試圖在MainPage
類中調用它。
它爲什麼對他們有效,對我不起作用?
import os
import webapp2
import jinja2
template_dir = os.path.join(os.path.dirname(__file__), 'html_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 MainPage(Handler):
def get(self):
self.render("shopping_list.html")
app = webapp2.WSGIApplication([('/', MainPage),
],
debug=True)
ARAGAH !! Gawd McDabbit。就是這樣。謝謝。 –
我會盡快答覆。 –
@MorganAllen請注意,按照官方風格指南的建議,每個縮進級別有四個空格,這使得它比當前使用的兩個更明顯。 – jonrsharpe