1

如何扩展“erlydtl”?

我真的很喜欢 django 模板,以及模板语言可以扩展的方式。例如,我喜欢“sekizai”等扩展名。

可以为 erlydtl 提供自定义标签模块。但是如何添加对更复杂标签的支持,例如由 sekizai 提供的?

在 django 中,使用 sekizai 我可以执行以下操作(取自 sekizai 文档)。

{% render_block "css" %}

并添加以下内容以添加到上面的块中

{% addtoblock "css" %}
<link href="/media/css/stylesheet.css" media="screen" rel="stylesheet" type="text/css" />
{% endaddtoblock %}

这将在调用 {% render_block %} 的地方添加内容。

4

1 回答 1

0

您需要编写自己的模块并定义被调用的函数并为您的模板标签提供数据。

例子:

文件perc_filter.erl

-module(perc_filter).
-export([percentage/2]).

percentage(Input, Whole) when is_integer(Input), is_integer(Whole) ->
    [Result] = io_lib:format("~.2f", [Input / Whole * 100]),
     Result.

在模板中:

{{ x|percentage:1000 }}
于 2013-10-23T07:37:52.620 回答