为了账号安全,请及时绑定邮箱和手机立即绑定

模板变量不能到处解析

模板变量不能到处解析

Go
慕斯王 2022-10-10 19:22:16
我正在使用 Golang 模板构建一个网站,并且需要在页脚模板中显示一些文本。它是一个在 header.html 和 index.html 中解析的变量。package mainimport (    "fmt"    "html/template"    "log"    "net/http"    "github.com/gorilla/handlers"    "github.com/gorilla/mux")type Data struct {    Title string    Field1 string    Field2 template.HTML    FooterField string}var tmpl *template.Templatefunc main() {    router := mux.NewRouter()    port := ":8085"    data := Data{}    data.Title = "Title"    data.FooterField = "This text does not appear in the footer template"    router.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {        err := tmpl.ExecuteTemplate(w, "index", data)        if err != nil {            http.Error(w, err.Error(), http.StatusInternalServerError)        }    })    var err error    tmpl, err = template.ParseGlob("views/*")    if err != nil {        panic(err.Error())    }    router.PathPrefix("/").HandlerFunc(func(res http.ResponseWriter, req *http.Request) {        http.FileServer(http.Dir("./static/")).ServeHTTP(res, req)    })    fmt.Println("Server running on localhost" + port)    err = http.ListenAndServe(port, handlers.CompressHandler(router))    if err != nil {        log.Fatal(err)    }}在 ./views 我有 header.html{{define "header"}}<!doctype html><html><head><meta charset="utf-8"><title>{{.Title}}</title></head><body><h1>Header template</h1><div>{{.FooterField}}</div>{{end}}索引.html{{define "index"}}{{template "header" . }}<h1>Index template</h1><div>{{.FooterField}}</div>{{template "footer"}}{{end}}页脚.html{{define "footer"}}<h1>Footer template</h1>Missing FooterField->{{.FooterField}}</body></html>{{end}}最后在浏览器中输出 http://localhost:8085/Header templateThis text does not appear in the footer templateIndex templateThis text does not appear in the footer templateFooter templateMissing FooterField->只需复制和粘贴即可复制此代码。任何线索我的问题是什么?
查看完整描述

1 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

您没有将任何内容传递给页脚模板。但是你传递.给标题模板,所以你.FooterField只看到那里的值。

将其更改为index.html{{template "footer" . }}


查看完整回答
反对 回复 2022-10-10
  • 1 回答
  • 0 关注
  • 80 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信