草庐IT

chef-template

全部标签

templates - 如何使用 Go 模板在单个语句中使用多个参数

我正在尝试在单个if语句(使用text/template包)中传递多个条件,该语句应转换为“If$total==1andhasfunctionreturnsfalsedisplayworks”。我不明白这些管道究竟是如何工作的,也不明白为什么我会收到这个无意义的错误。据我所知,当使用链接(|)时,它将结果作为参数发送到最后一个命令(在本例中为and){{ifeq$total1|nehastrue|and}}Works{{end}}errtemplate::29:26:executing""at:wrongnumberofargsforne:want2got2

html - Go: template.ParseFiles() 不适用于 {{.active}} 但适用于 {{printf "%s".active}}

让我这样说我的html文件的主体Currentnumberofplayers:{{.active}}我的代码看起来像typepagestruct{activestring}t,_template.ParseFiles("page.html")t.Execute(w,page{active:"NoPlayersareOnline"})当我运行代码时,出现空白屏幕。当我将{{.active}}更改为{{printf"%s".active}}它有效。我总是需要包含printf吗?我想我对文档感到困惑。谢谢! 最佳答案 使active属性大

templates - 转到模板 : Currency pipe format?

我正在尝试在go模板中表示金钱。{{.现金}}但是现在,现金是1000000有没有可能让它输出1,000,000?是否有某种{{.cash|货币}}格式化程序?如果没有,我该如何获得所需的输出?谢谢。 最佳答案 您可以利用github.com/dustin/go-humanize来执行此操作。funcMap:=template.FuncMap{"comma":humanize.Comma,}t:=template.New("").Funcs(templateFuncs).Parse(`Amillion:{{comma.}}`)err

go - go 'Template.Execute'如何读取其匿名结构的参数字段?

在使用Go编码时,使用html.template包,调用template.Execute。我有一个问题,它如何读取其参数的匿名结构字段。看了源码,没看懂。我不知道。/usr/local/go/src/html/template/tempalte.goL.78typeTemplatestruct{...text*template.Template...}//escapeescapesallassociatedtemplates.func(t*Template)escape()error{t.nameSpace.mu.Lock()defert.nameSpace.mu.Unlock()if

html - golang html/template ExecuteTemplate errant byte 它来自哪里?

背景我试图为Go编写一些GZIP中间件,但遇到了一个问题,因为http.DetectContentType()返回的是text/plain而不是text/html所以我追踪到第一个被写入的文本是某种类型或错误的字节,我仍在努力追查。我知道有很多解决方法,比如在执行模板时显式设置ContentType或使用bytes.Buffer并一次写入所有内容,但我真的很想找出导致写入这个单个字节的原因。例子这是一个非常人为的例子,它显示了同样的问题https://play.golang.org/p/SSrWP9jLRq运行时你会看到打印的第一件事是:“LENBYTES:1String:”嫌疑人如示

go - template.ParseFiles 的问题

我有以下http.Handle函数(简化):funcloginHandler(whttp.ResponseWriter,r*http.Request){cwd,_:=os.Getwd()t,err:=template.ParseFiles(filepath.Join(cwd,"./views/login.html"))iferr!=nil{fmt.Fprintf(w,"503-Error")fmt.Println(err)}else{t.Execute(w,nil)}}它在使用gobuildmain.go时按预期工作,但是-在运行goinstall之后,我得到一个找不到文件的错误(因为

go - 通过 `html/template` 提供动态 HTML 文件,同时提供用于在同一目录中托管 CSS、JS 和图像文件的文件服务器

现在我在同一个目录中有3个文件和一个文件夹,如下所示。index.html将请求.css,.js(ReactJS)和文件夹内的图像/img.经过大量搜索和尝试,我知道我可以使用以下内容来制作一个文件服务器来为/提供服务client/index中文件的url请求.http.Handle("/",http.StripPrefix("/",http.FileServer(http.Dir("client/index"))))效果很好。但它只提供静态文件,我想在传出之前对html文件进行一些更改,例如修改标签中的值.因此,我需要注册一个HandleFunc('/',handler)执行html

templates - 在 Go 服务器 : download fail 上加载 Angular2 Bootstrap 模板 ng2-admin

我是这个论坛的新手,也是Angular2和Golang的新手。我的问题是我想尝试template在Go服务器上。因此,我创建了一个包含此main()函数的main.go文件:funcmain(){r:=mux.NewRouter()p:=http.StripPrefix("/",http.FileServer(http.Dir("./src/")))n:=http.StripPrefix("/config",http.FileServer(http.Dir("./config/")))r.PathPrefix("/config/").Handler(n)r.PathPrefix("/"

templates - 如何在 hugo go 模板中使用 asciidocify 而不是 markdownify?

在我的hugo项目中,我在yaml配置文件中定义了一个“描述”属性。description:>Sometext...Somemoretext...我在html文件中使用它并通过markdown预处理器运行它。{{.description|markdownify}}因为我通常使用Asciidoc文件,所以我更喜欢在Asciidoc中使用源文件。但是我没有找到像“asciidocify”这样的函数。我该怎么做? 最佳答案 目前(从Hugo0.16开始)没有asciidocify或类似的功能,我想在我们获得Hugo的原生(Go)Ascii

templates - 访问排序对列表的第一项

我是GoTemplates的新手,我正在尝试访问SortedPair列表中的第一个元素。我尝试了{{(index.Labels.SortedPairs1)}}{{.Name}}={{.Value}}但这不起作用,我得到无法评估类型模板中的字段名称。警报。有没有办法获取第一个元素?当它是{{range}}时,它工作正常但显示的元素太多。谢谢 最佳答案 请注意,第一个索引是0而不是1。您可以在显示其Name和Value时索引列表:{{(index.Labels.SortedPairs0).Name}}={{(index.Labels.S