首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mako模板查找错误: TypeError

Mako模板查找错误: TypeError
EN

Stack Overflow用户
提问于 2017-08-12 01:35:52
回答 1查看 260关注 0票数 1

我有一个很大很大的mako文件,为了便于维护,我目前正在将其分解为较小的文件。考虑将main.mako作为我的主要(大量)模板文件,将get_raps.mako作为我需要包含的小文件。

main.mako

代码语言:javascript
复制
<%include file="/get_raps.mako"/>

get_raps.mako

代码语言:javascript
复制
% for rap in rapset.raps:
  <% print rap %>
%endfor

在我的代码中:

代码语言:javascript
复制
dirlookup = TemplateLookup(directories=[
        os.path.join(
            os.path.dirname(__file__),
            'templates'
        )])

template = Template(
            filename=os.path.join(
                os.path.dirname(__file__),
                'templates',
                'LegacyXML.mako'
            ),
            output_encoding="utf-8",
        lookup=dirlookup
    )

当我运行这个命令时,我得到一个错误:

代码语言:javascript
复制
 {'coset': <models.Coset.Coset object at 0x109daf990>, 'rap': <models.Raps.Rap.Rap object at 0x109dafa50>}
    {'coset': <models.Coset.Coset object at 0x109dafd50>, 'rap': <models.Raps.Rap.Rap object at 0x109daf550>}
    {'coset': models.Coset.Coset object at 0x109dafd90>, 'rap': <models.Raps.Rap.Rap object at 0x109dafe10>}

 File "/usr/local/lib/python2.7/site-packages/mako/runtime.py", line 899, in _exec_template
        callable_(context, *args, **kwargs)
      File "_get_raps_mako", line 30, in render_body
    TypeError: 'Undefined' object is not callable

我知道我正在访问包含数据的小文件,但是为什么我得到类型错误?我是不是遗漏了什么很明显的东西?谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-11-09 15:21:08

我认为你需要改变的是这句话:

<%include file="/get_raps.mako"/>

因为include语句需要文件的正确路径。您确定将该文件保存在根目录下吗?(为什么?)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45640870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档