无论处理程序的输出有多简单,我在每个响应的末尾都会得到一个None
字符串。
这是我的处理程序代码:
class BaseHandler(webapp2.RequestHandler):
@webapp2.cached_property
def jinja2(self):
return jinja2.get_jinja2(app=self.app)
def render_response(self, _template, **context):
rv = self.jinja2.render_template(_template, **context)
self.response.write(rv)
class SimpleHandler(BaseHandler):
def get(self):
template_values = {
'error' : "",
'url' : os.path.basename(self.request.url)
}
self.render_response('temp.html', **template_values)
模板:
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
<script src="http://code.jquery.com/jquery-1.8.2.js"></script>
</head>
<body>
<div></div>
<div>
Test
</div>
<div>{{ error }}</div>
</body>
</html>
最后输出
Test
None
在此之后,每个输出都包含字符串&#34; None&#34;在末尾。感谢帮助!!!
答案 0 :(得分:1)
需要注意的一点是,None
将返回一个空值(请参阅this answer)。为了处理它,你可以做一些这样的事情,以确保error
只有在存在时才会打印出来:
<html>
<head>
<title>Home</title>
<script src="http://code.jquery.com/jquery-1.8.2.js"></script>
</head>
<body>
<div></div>
<div>
Test
</div>
<!-- Here we check to see 'error' is not null; if not, print -->
{% if error %}
<div>{{ error }}</div>
{% endif %}
</body>
</html>