Turbogears 2.3.10错误kajiki模板与可插拔应用程序

时间:2017-01-04 11:52:48

标签: turbogears

我使用带有kajiki模板的turbogears 2.3.10,我创建了应用程序名称样本并创建了可插入的应用程序名称 plugapp 。 (我在http://turbogears.readthedocs.io/en/latest/turbogears/Pluggable/index.html?highlight=plugin中看到)

我在plugapp(可插拔应用程序)中创建了包名master_view(templates / master_view)和文件master.xhtml。

 -plugapp
    --templates
        --master_view
            --master.xhtml
        --index.xhtml

plugapp (可插拔应用程序)的index.xhtml中,我更改了

<py:extends href="master.xhtml"/> 

<py:extends href="master_view/master.xhtml"/>

我跑http://localhost:8080/plugapp。它显示错误

TypeError: coercing to Unicode: need string or buffer, NoneType found .

我该如何解决?谢谢。

1 个答案:

答案 0 :(得分:0)

错误肯定会更好,但是试图告诉你的是,没有像相对文件名指定的模板,模板在模板目录中查找。 哪个是基本应用程序的模板目录(作为基本应用程序配置适用),而不是可插入模板目录。

由于您将模块插入的应用程序没有templates/master_view/master.xhtml文件,因此kajiki无法加载它。

每当提到包含在可插拔应用程序中的内容时,您应该使用点分表示法。这样你就可以参考可插拔应用程序的python包。

在这种情况下,您要在__init__.py目录中创建master_view文件,并使用py:extends="provaplug.templates.master_view.master"加载预期的 master.html 文件。

由于您明确指出master_view/master.xhtml包中包含的provaplug(其中provaplug是您的可插拔应用的名称),您将加载您的可插拔应用