Есть хэндлер:
func IndexHandler(w http.ResponseWriter, r *http.Request) {
t, err := template.ParseFiles("templates/index.html", "templates/header.html", "templates/footer.html")
if err != nil {
fmt.Fprintf(w, err.Error())
}
c := ReadCookie(r)
IsAuthorized, Username := IsAuthorized(c)
fmt.Println(IsAuthorized, Username)
postCollection := GVDB.PostCollection // объект MongoDB
PostDocuments := []documents.PostDocument{}
postCollection.Find(nil).All(&PostDocuments)
Posts := []models.Post{}
for _, doc := range PostDocuments {
Post := models.Post{doc.Id, doc.Title, doc.Content}
Posts = append(Posts, Post)
}
t.ExecuteTemplate(w, "index", Posts)
}
Есть шаблон:
{{ define "index" }}
{{ template "header"}}
{{ range $value := . }}
<div class="row">
<div class="col-xs-2">
</div>
<div class="col-xs-8">
{{if $.IsAuthorized}}
<h1><a href="/edit?id={{$value.Id}}">{{ $value.Title }}</a></h1>
{{else}}
<h1><a href="/view?id={{$value.Id}}">{{ $value.Title }}</a></h1>
{{end}}
</div>
<div class="col-xs-2">
</div>
</div>
<div class="row">
<div class="col-xs-2">
</div>
<div class="col-xs-8">
{{ $value.Content }}
</div>
<div class="col-xs-2">
</div>
</div>
{{ end }}
{{ template "footer" }}
{{ end }}
В таком виде проверка на IzAuthorized не проходит. Как это сделать правильно? Как вообще можно передать проверку на авторизацию в шаблон и что можно почитать на тему работы с шаблонами? Смотрел официальную документацию и статью:
https://github.com/astaxie/build-web-application-w... ,но все что пробовал - не подошло.