问题标签 [go-templates]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
691 浏览

go - html/template 中 ParseFiles 函数的不同行为

我不明白为什么 的行为func (t *Template) Parsefiles(...不同于func ParseFiles(.... 这两个函数都来自“html/template”包。

这退出并出现错误:

请注意,TestExecute1通过很好,所以这不是问题template.html

这里发生了什么?
我错过了MakeTemplate2什么?

0 投票
6 回答
8820 浏览

go - 为什么我在 Go HTML 模板输出中看到 ZgotmplZ?

当我调用 Go 模板函数来输出 HTML 时,它会显示ZgotmplZ.

示例代码:

http://play.golang.org/p/tfuJa_pFkm

输出:

0 投票
2 回答
11960 浏览

go - 在模板中,如何在“with”或“range”范围内访问外部范围?

在 a withor内range时,范围.会改变。你如何访问调用范围?

0 投票
4 回答
1945 浏览

go - 当“{”或“}”在模板的静态部分时如何执行Golang模板?

我的问题是,我想构建一个字母生成器,它首先从用户输入构建一个乳胶文件,然后通过乳胶将其编译为 PDF。

该模板包含多行,如下所示:

latex部分是\setkomavar{signature}{}template来自 go 的部分是{{.Name}}

当我尝试加载模板时,它会引发此错误:

恐慌:模板:letter.tmpl:72:命令中出现意外的“}”

是否有帮助解析器处理这种情况的技巧?

提前致谢,

蒂诺

0 投票
3 回答
96594 浏览

html - 在 golang HTML 模板中切换或 if/elseif/else

我有这个结构:

我想以Type依赖的方式显示我的段落。

我发现的唯一解决方案是基于专用功能,例如isAttachment测试Typein Go 和 nested {{if}}

事实上,我有更多类型,这使得它更加奇怪,将 Go 代码与IsSomething函数和模板与那些{{end}}.

什么是干净的解决方案?go 模板中有一些switch或解决方案吗?if/elseif/else还是用完全不同的方式来处理这些案件?

0 投票
1 回答
2337 浏览

google-app-engine - 使用 ParseGlob 如何在 golang 中渲染两个以上的模板?

厌倦了这个https://github.com/golang-samples/template/blob/master/parseglob/main.go但服务器正在强制关闭。1)main.go 包 main

2) main.tmpl

3) header.html

4)footor.html

还有其他有用的链接吗?

0 投票
1 回答
16109 浏览

go - 在 Go 模板中,访问范围内的父/全局管道

是否可以{{range pipeline}} T1 {{end}}在包中的操作中text/template访问范围操作之前的管道值,或者作为参数传递给执行的父/全局管道?

显示我尝试做的工作示例:

play.golang.org

0 投票
2 回答
1337 浏览

go - 如何在 Go 中使用来自常量字符串变量的嵌套模板?

我一直在尝试在 Go 中使用嵌套模板,但是示例或帮助文档对我没有帮助,并且其他 3 个博客中的示例不是我想要的(一个很接近,也许是唯一的方法,但我想做当然)

好的,所以我的代码是针对 App Engine 的,在这里我将对urlfetch服务器进行操作,然后我想显示一些结果,例如Response、标头和正文。

我的代码实际上输出了具有正确值的 RT、HT 和 BT 模板,然后将 MT 模板输出为空(MT 代表主模板)。

所以......我如何使用字符串变量中的嵌套表单,以便上面的示例有效?

0 投票
4 回答
26162 浏览

go - 如何在 Go 模板中转义“{{”和“}}”分隔符?

我使用 AngularJS 作为前端 JS 库,在 Revel 框架中使用 Go 模板在后端生成标记。

但是 Go 和 Angular 都在其模板中使用{{和作为分隔符。}}如何在 Go 中转义它们以将它们传递给 AngularJS?

0 投票
8 回答
32522 浏览

go - Go template.ExecuteTemplate 包含 html

我遵循了本教程: http: //golang.org/doc/articles/wiki/final.go并根据我的需要/想要稍微修改了它。问题是我想在模板中支持 HTML。我意识到这是一个安全风险,但目前还不是问题。

页面渲染的结果:

让我解释一下代码:

我想要 HTML 的数据存储在Page.Body. 这是类型[]byte,这意味着我不能(或者我可以?)运行html/template.HTML(Page.Body)该函数需要一个字符串。

我有这个预渲染模板:

实际ExecuteTemplate看起来像这样:

其中 w 是w http.ResponseWriter, tmpl 是tmpl string, p 是p *Page

最后我的'view.html'(模板)如下所示:

我尝试过的事情:

  • {{printf "%s" .Body | html}}什么都不做
  • 我已经包含github.com/russross/blackfriday(Markdown 处理器)并运行p.Body = blackfriday.MarkdownCommon(p.Body)了正确地将 Markdown 转换为 HTML,但 HTML 仍然作为实体输出。
  • 编辑:我尝试了以下代码(我不知道为什么格式混乱),它仍然输出完全相同。

    var s template.HTML s = template.HTML(p.Body) p.Body = []byte(s)

非常感谢任何指导。如果我感到困惑,请询问,我可以修改我的问题。