马提尼渲染显示页面上的{{ yield }}。

huangapple go评论103阅读模式
英文:

Martini render shows {{ yield }} on page

问题

我尝试在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 }}字符串保持不变。

英文:

I try to render my page in martini
layout.html

&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
	&lt;head&gt;...&lt;/head&gt;
    &lt;header&gt;...&lt;/header&gt;
    {{ yield }}
    &lt;footer&gt;...&lt;/footer&gt;
&lt;/html&gt;

index.html

&lt;main&gt;
	&lt;h1&gt;Hello&lt;/h1&gt;
&lt;/main&gt;

Render options:

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

try show page:

rnd.HTML(200, &quot;edit&quot;, nil)

run app and see my page:

All code from layout.html is processed normaly, but the {{ yield }} string stays without difference.

答案1

得分: 1

你将分隔符设置为"{[{}]}",但后面使用了"{{}}"。

要么使用Delims: render.Delims{"{{", "}}"},,要么更改模板以使用"{[{ yield }]}"。

英文:

You set your delimiters to "{[{" and "}]}", but then uses "{{" and "}}".

Either use Delims: render.Delims{&quot;{{&quot;, &quot;}}&quot;}, or change your template to use {[{ yield }]}

huangapple
  • 本文由 发表于 2015年9月13日 19:31:03
  • 转载请务必保留本文链接:https://go.coder-hub.com/32549195.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定