如何在 Selmer (Clojure) 中为 "include" 标签添加动态连接的文件名?
How to add a dynamically concatenated file name for "include" tag in Selmer (Clojure)?
我是 Clojure 的新手。我的问题是关于 selmer 模板库。
我想做的是为以下方式应用一个变量。但它不起作用;
{% include {{right-page}} %} ------- X
(此处right-page是目标文件名的串联字符串)
如果 right-page 是您传递给页面的有效字符串,我认为这对您有用
{% include right-page %}
当 selmer 编译模板时,当前必须知道包含在 selmer 中的任何目标,它在没有传入数据的情况下进行编译。这意味着,给定模板:
template.html_template:
{% include right-page %}
和 clojure 代码:
(selmer/render-file template.html_template
{right-page "some/other/template/file.html_template})
您可能会遇到异常。至于解决方法,您可以考虑
(selmer/render-file template.html_template
{right-page (selmer/render-file
"some/other/template/file.html_template {})})
或类似的东西。
当然,您必须更新 template.html 以包含已呈现的文本,并禁用转义,如下所示:
template.html_template:
{{right-page|safe}}
我是 Clojure 的新手。我的问题是关于 selmer 模板库。
我想做的是为以下方式应用一个变量。但它不起作用;
{% include {{right-page}} %} ------- X
(此处right-page是目标文件名的串联字符串)
如果 right-page 是您传递给页面的有效字符串,我认为这对您有用
{% include right-page %}
当 selmer 编译模板时,当前必须知道包含在 selmer 中的任何目标,它在没有传入数据的情况下进行编译。这意味着,给定模板:
template.html_template:
{% include right-page %}
和 clojure 代码:
(selmer/render-file template.html_template
{right-page "some/other/template/file.html_template})
您可能会遇到异常。至于解决方法,您可以考虑
(selmer/render-file template.html_template
{right-page (selmer/render-file
"some/other/template/file.html_template {})})
或类似的东西。
当然,您必须更新 template.html 以包含已呈现的文本,并禁用转义,如下所示:
template.html_template:
{{right-page|safe}}