clojure luminus 全局变量访问模板

clojure luminus global variable access into template

我正在尝试使用 Luminus 和 Selmer 模板做一件简单的事情(至少对于通用框架而言),但我找不到实现它的方法。我只想将值传递给基本模板,如下所示:

文件:home.html

{% extends "base.html" {:user {{ user }} } %}
​{% block content %}
...
​{% endblock %}

我知道我们可以使用渲染文件来做到这一点,就像这样

(render-file "html/base.html" {:user user})

但它看起来不对,它看起来像是一个奇怪的解决方法。

我的想法实际上是让一些全局变量来访问应用程序的任何地方,比如用户会话,但是我在luminus documentation

中没有找到它

好吧,即使 Selmer 很酷,Clojure 中的大多数网络文化都围绕着 Hiccup 作为模板生成器。您将使用 Hiccup 和 ClojureScript (Reagent - Re-frame),这是切换到它的另一个原因。可能你已经安装了 Hiccup,检查一下:

lein deps :tree | grep hiccup  

您需要创建类似 this one. And uses it in a "controller" like this 的布局来构建您的 HTML 视图。