我的设置:基础文件{{define "base"}} ...basic hmtl boilerplate ...{{end}}{{define "post"}} {{.ID}} {{.Username}} etc... {{if $.User.Admin}} <...admin controls...> {{end}}{{end}}索引.tmpl{{template "base" . }}{{define "content"}} Stuff...... {{range .Posts }} {{template "post" . }} {{end}}{{end}}但我得到$.User.Admin 不是 db.Post 的字段如何从未提供的模板中的“全局”点值中获取值?$. 显然不起作用。我只是在范围内发布帖子,但我添加了一个新页面来查看各个帖子,并且不想更新单独显示帖子的每个区域。更新:模板是这样执行的func Index(rw http.ResponseWriter, req *http.Request) { g := GetGlobal(rw, req) // Gets logged in user info, adds branch/version info etc ... Get posts from the DB ... if err := Templates["index.tmpl"].Execute(rw, g); err != nil { Log.Println("Error executing template", err.Error()) }}全局结构看起来像:type Global struct { User db.User Users []db.User EditUser db.User Session *sessions.Session Error error Posts []db.Post Post db.Post DoRecaptcha bool Host string Version string Branch string}模板加载如下:Templates[filename] = template.Must(template.ParseFiles("templates/"+filename, "templates/base.tmpl"))
1 回答
- 1 回答
- 0 关注
- 161 浏览
添加回答
举报
0/150
提交
取消