go-templates 相关问题

Go语言支持内置模板功能。具有此支持的包包括1)文本/模板和; 2)html /模板。

捕获 golang 模板输出或将其分配给变量

在模板中,我怎样才能实现这一目标? {{$var := 模板“我的模板”}} 我只是得到“操作数中出现意外的 ”。 在模板中,我怎样才能实现这一目标? {{$var := template "my-template"}} 我刚刚得到"unexpected <template> in operand"。 没有用于获取模板执行结果的“内置”操作,但您可以通过注册执行此操作的函数来实现。 您可以使用 Template.Funcs() 函数注册函数,您可以使用 Template.ExecuteTemplate() 执行命名模板,并且可以使用 bytes.Buffer 作为目标(将模板执行结果直接存入缓冲区)。 这是一个完整的示例: var t *template.Template func execTempl(name string) (string, error) { buf := &bytes.Buffer{} err := t.ExecuteTemplate(buf, name, nil) return buf.String(), err } func main() { t = template.Must(template.New("").Funcs(template.FuncMap{ "execTempl": execTempl, }).Parse(tmpl)) if err := t.Execute(os.Stdout, nil); err != nil { panic(err) } } const tmpl = `{{define "my-template"}}my-template content{{end}} See result: {{$var := execTempl "my-template"}} {{$var}} ` 输出(在Go Playground上尝试一下): See result: my-template content "my-template"模板由注册函数execTempl()执行,结果作为string返回,存储在$var模板变量中,然后简单地添加到输出中,但您可以如果需要,可以使用它传递给其他函数。 比@icza的答案更直接的方法: package main import ( "bytes" "fmt" "html/template" ) func main() { input := "/accounts/{{ .accountID }}" var output bytes.Buffer templ := template.Must(template.New("getAccount").Parse(input)) templ.Execute(&output, map[string]interface{}{ "accountID": 100, }) fmt.Println(output.String()) } 这将打印 /accounts/100 去游乐场:https://play.golang.com/p/u5PdxOfDKi7

回答 2 投票 0

如何使用 go 模板将值与字符串进行比较

我想循环遍历值文件以在该命名空间中创建命名空间和网络策略(默认值除外)。我只想创建策略而不是默认的命名空间,因为它......

回答 1 投票 0

解析go template时如何检查模板节点是否有连字符?

{{- if .Tools }} {{- 结尾 }} {{ if .Tools }} {{ 结尾 }} 进口 ( “文本/模板” “文本/模板/解析” ) t, err := template.New("dummy").Parse(string(template...

回答 1 投票 0

toYaml 导致将 YAML 转换为 JSON 时出错

我正在尝试从值填充我的部署并收到错误: helm-general/templates/deployment.yaml 上的 YAML 解析错误:将 YAML 转换为 JSON 时出错:yaml:第 46 行:映射值不是

回答 1 投票 0

区分每个警报,但它们都显示为红色

我想将严重警报标记为红色,警告警报标记为橙色,正常警报标记为绿色。但是,当所有三个警报同时发送时,它们都会显示为红色。我想要每个 Slack Alert

回答 1 投票 0

可使用 go-templates helm3

我正在尝试写我的第一个舵图 这就是我的部署 在这一部分中:containerPort: {{ .Values.port }} ...它的工作 购买不适用于此: 值:{{ .Values.port |引用 }} 值:{{ .Value.logs |

回答 1 投票 0

Helm 将图表标签多行字符串转换为逗号分隔的字符串

我在 _helpers.tpl 中有作为多行字符串的标签,如下所示。我如何将其转换为逗号分隔的列表。 _helpers.tpl:- {{- 定义“mongo.selectorLabels”-}} 应用程序:{{包括“莫...

回答 2 投票 0

如何向 Helm Chart 模板添加注释?

在 helm 模板中,向模板文件添加注释的最佳方式是什么?例如,遵循 Helm Chart 入门指南提供了以下模板。我想添加一条评论描述

回答 1 投票 0

使用字典拆分和范围的 Helm 模板缩进错误

我正在尝试在我的舵图中设置动态数量的卷和卷安装的能力。 我的部署.yaml 如下所示: 体积安装: {{- 如果.Values.deployment.hostPat...

回答 1 投票 0

为 template.ParseFiles 指定模板文件名

我当前的目录结构如下所示: 应用程序 - 模板 - foo.go - foo.tmpl - 模型 - 酒吧.go - 其他 - 目录 - baz.go 文件 foo.go 使用 ParseF...

回答 1 投票 0

模板包含的模板中的变量

我试图将值放入“标题”模板中,例如标题和导航链接,但无法访问我从包含的模板发送到主模板的变量。 渲染模板...

回答 1 投票 0

Helm 模板为 configmap 预定义数组迭代

嗨,我们在values.yaml中有listenerProcessor数组,如下所示 监听器处理器: - 名称:“nbi-sbi” 端口:99 允许路径: -“/sbi/测试” -“/sbi/test123” 为了这个...

回答 1 投票 0

Helm3 中的 {{ ... }} 和 {{- ... -}} 语法有什么不同?

我找不到任何文档,但我不断看到示例。 喜欢: {{- if .Values.serviceAccount.create -}} api版本:v1 种类:服务帐户 元数据: 名称:{{- 包括“示例。

回答 1 投票 0

helm 图表使用另一个辅助函数创建辅助函数

我正在尝试创建另一个使用现有辅助函数的辅助函数,但这似乎不起作用。 我在 _helpers.tpl 文件中有以下函数: {{- 定义“redis.fullname&...

回答 1 投票 0

Helm:范围函数没有按预期保持输入值的顺序?

我知道,字典是按顺序处理的。但是,出于某些流程目的,我需要按某种顺序运行特定流程。 (由于本机 k8s 不会按顺序支持 cronjobs,所以我正在做...

回答 1 投票 0

包含的名为模板的头盔中的值上下文

我们有一个舵图,其中包含供其他模板使用的命名模板。 最初,包含命名模板的 helm 图表没有“values.yaml”文件,因为它只有 &q...

回答 1 投票 0

helm - 如何使用复数循环

我需要循环遍历 Helm 图表中具有范围的对象。 我的 network.yaml 第 4 行有错误。我该如何修复它? 我的values.yaml 包含: 网络: 服务_shob_服务器: - 名称:shob-server-{{ .

回答 1 投票 0

如何在Go模板中渲染HTML而不转义?

如何在 Go HTML 模板中呈现“安全”HTML?即没有模板引擎转义它?例如如果我从其他地方(例如数据库)提取 HTML 片段? 具体来说...我

回答 1 投票 0

如何使用html模板将javascript变量的值传递给golang函数

我有一个使用 html 模板功能的 GO Web 应用程序。我试图在以表单提交用户密码之前对其进行加密。完成此操作的步骤是: 使用javasc...

回答 1 投票 0

如何迭代具有对象数组的未命名的 helm value.yaml 文件?

我有一个helm模板和values.yaml文件,想要迭代helm模板中helm值的所有对象。 #values.yaml -------------- - ns:“测试-ns” 应用程序:“测试应用程序” - ...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.