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

模板中的 Golang 模板全局点,该模板中的值来自范围

模板中的 Golang 模板全局点,该模板中的值来自范围

Go
千巷猫影 2021-09-27 21:00:19
我的设置:基础文件{{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
提交
取消
意见反馈 帮助中心 APP下载
官方微信