tornado 抛出异常500

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/tornado-4.3-py2.7-linux-x86_64.egg/tornado/web.py", line 1443, in _execute
    result = method(*self.path_args, **self.path_kwargs)
  File "/home/simon/myblog/handlers.py", line 53, in get
    self.render_string('login.html')
  File "/usr/local/lib/python2.7/dist-packages/tornado-4.3-py2.7-linux-x86_64.egg/tornado/web.py", line 806, in render_string
    return t.generate(**namespace)
  File "/usr/local/lib/python2.7/dist-packages/tornado-4.3-py2.7-linux-x86_64.egg/tornado/template.py", line 345, in generate
    return execute()
  File "login_html.generated.py", line 9, in _tt_execute
    _tt_tmp = _tt_utf8(True(_tt_tmp))  # login.html:37
TypeError: 'bool' object is not callable

我handlers里的设置如下
class LoginHandler(BaseHandler):

def get(self):
    self.render_string('login.html')
    

app里面设置的r'/login'指向LoginHandler,html模板也换成非tornado渲染的,怎么还是会出错?不应该啊...

阅读 7.3k
3 个回答

报错信息里有了啊
tt_tmp = _tt_utf8(True(_tt_tmp))
True() 这个写法不对,bool值不能当作方法名

def get(self):
    self.render('login.html')

直接使用 tornado 模板的渲染方式不行么?

self.render_string 是用渲染 模板式 的字符串的(这个字符串模板可以从文件中读取,也可以从普通字符串中读取),并非渲染 模板 的。

self.render 才是渲染模板的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题