Nitrogen + Django Templates

ставим эрланг, если не стоит

$ brew install erlang

получаем nitrogen

$ mkdir example && cd example
$ git clone git://github.com/nitrogen/nitrogen.git

создаем проект

$ cd nitrogen
$ make rel_inets PROJECT=test

подключаем модуль ErlyDTL

$ cd ../test
$ vim ./rebar.config

в секцию deps добавляем строчку

{erlydtl, ".*", {git, "git://github.com/erlydtl/erlydtl", {branch, master}}}

подтягиваем зависимости с гитхаба

$ ./rebar get-deps compile

запускаем наше приложение и заставляем мониторить изменения в коде

$ bin/nitrogen console
$ bin/dev compile

создаем тестовую страничку

$ bin/dev page test

и самый простой шаблон

$ vim site/templates/test.dtl

который выглядит вот так

{{ test_var }}

правим наш сгенерированный код

$ vim site/src/test.erl

вносим туда примерно вот это

-module (test).
-compile(export_all).
-include_lib("nitrogen_core/include/wf.hrl").
-include("records.hrl").

template_path(Template) ->
    filename:join(["./site", templates, Template]).

render_template(Name, Variables) ->
    Template = template_path(Name ++ ".dtl"),
    Mod = list_to_atom(Name ++ "_tpl"),
    {ok, Mod} = erlydtl:compile(Template, Mod),
    {ok, Body} = Mod:render(Variables),
    Body.

main() ->
    render_template("test", [{test_var, "Hello, World!"}]).

и в браузере смотрим результат по адресу http://127.0.0.1:8000/test

Запись опубликована в рубрике Программирование с метками , , . Добавьте в закладки постоянную ссылку.