Мартини рендер показывает {{ yield }} на странице

Я пытаюсь отрендерить свою страницу в файле martini layout.html.

<!DOCTYPE html>
<html lang="en">
    <head>...</head>
    <header>...</header>
    {{ yield }}
    <footer>...</footer>
</html>

index.html

<main>
    <h1>Hello</h1>
</main>

Варианты рендеринга:

m.Use(render.Renderer(render.Options{
        Directory:  "templates",                
        Layout:     "layout", 
        Extensions: []string{".tmpl", ".html"},
        Delims:     render.Delims{"{[{", "}]}"}, 
        Charset:    "UTF-8",  
        IndentJSON: true, 
}))

попробуйте показать страницу:

rnd.HTML(200, "edit", nil)

запустите приложение и увидите мою страницу:

Весь код из layout.html обрабатывается нормально, но строка {{ yield }} остается без разницы.

1 ответ

Решение

Вы устанавливаете разделители на "{[{" и "}]}", но затем используете "{{" и "}}".

Либо использовать Delims: render.Delims{"{{", "}}"}, или измените свой шаблон для использования {[{ yield }]}

Другие вопросы по тегам