clojure luminus глобальная переменная доступ к шаблону - PullRequest
0 голосов
/ 26 января 2020

Я пытаюсь сделать простую вещь (по крайней мере, для обычных фреймворков), используя шаблон Luminus и Selmer, но я не могу найти способ сделать это. Я хотел бы просто передать значения в базовый шаблон, что-то вроде этого:

file: home.html

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

Я знаю, что мы можем сделать это с помощью рендеринга файла, как это

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

Но это не выглядит правильным, это выглядит как странный обходной путь.

Моя идея на самом деле состоит в том, чтобы сделать некоторые глобальные переменные для доступа к любому месту приложения, как пользователь сеанс, но я не нашел его в документации на luminus

1 Ответ

0 голосов
/ 26 января 2020

Что ж, даже когда Selmer крут, большая часть веб-культуры в Clojure превращается в Hiccup в качестве генератора шаблонов. Вы будете использовать Hiccup с ClojureScript (Reagent - Re-frame), и это еще одна причина, чтобы перейти на него. Возможно, у вас уже установлен Hiccup, проверьте его с помощью:

lein deps :tree | grep hiccup  

Вам нужно будет создать макет, подобный этот . И использует его в «контроллере» , как этот , для построения вашего HTML представления.

...