【发布时间】:2016-10-10 16:54:40
【问题描述】:
我不知道为什么会这样,但我已经尝试了很多,但我仍然在我的浏览器中得到相同的输出.. 我在这里运行此代码我正在尝试将句柄类实例继承到我的另一个类..我在 chrome 浏览器中使用谷歌应用程序引擎运行我的代码..整个过程与 udacity 讲师所展示的相似,否则 rot13 代码..
import os
import codecs
import webapp2
import jinja2
#from check import valid_month
#from check import valid_year
#from check import valid_day
template_dir = os.path.join(os.path.dirname(__file__),'templates')
jinja_env = jinja2.Environment(loader = jinja2.FileSystemLoader(template_dir),
autoescape= True)
class Handler(webapp2.RequestHandler):
"""docstring for Handler"""
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 Secondhandler(Handler):
def get(self):
key = self.request.get_all("name")
name = ''.join(key)
new = codecs.encode(name, 'rot13')
self.render("shopping_list.html", name = new )
app = webapp2.WSGIApplication([
('/',Handler)
], debug=True)
如您所见,我的第二个处理程序名为 secondhandler,它继承自其名为 handler.. 的父类。 但是当我在浏览器中查看它时会引发错误,我的购物清单.html 如下
<form>
<h2>tell us what you like</h2>
<br>
<textarea name='name' type='text'>{{name}}</textarea>
<br>
<br>
<button>add</button>
</form>
最重要的是,我认为没有任何缩进问题,因为当我通过使用整个 get 仅在主处理程序中运行我的代码时,它工作正常.. 但我仍然无法使用 secondhandler .. 继承我的代码没有类 secondhandler .. 它打印和工作 rot13 很好..
import os
import codecs
import webapp2
import jinja2
#from check import valid_month
#from check import valid_year
#from check import valid_day
template_dir = os.path.join(os.path.dirname(__file__),'templates')
jinja_env = jinja2.Environment(loader = jinja2.FileSystemLoader(template_dir),
autoescape= True)
class Handler(webapp2.RequestHandler):
"""docstring for Handler"""
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))
def get(self):
key = self.request.get_all("name")
name = ''.join(key)
new = codecs.encode(name, 'rot13')
self.render("shopping_list.html", name = new )
#class Secondhandler(Handler):
app = webapp2.WSGIApplication([
('/',Handler)
], debug=True)
【问题讨论】:
标签: python-2.7 google-app-engine