我正在遍历我的 API 响应并将其添加到这样的 html 模板中,
// Following sends same information as above to the browser as html
t, err := template.New("TopMovies").Parse(`
{{define "TopMovies"}}
<html>
<ul>
{{$ImgUrl := "http://image.tmdb.org/t/p/w185" }}
{{range $movies := .Results}}
<li>{{$ImgUrl}}{{$movies.PosterPath}}</li>
<li>{{$movies.Adult}}</li>
<li>{{$movies.Overview}}</li>
<li>{{$movies.ReleaseDate}}</li>
<li>{{$movies.GenreIds}}</li>
<li>{{$movies.Id}}</li>
<li>{{$movies.OriginalTitle}}</li>
<li>{{$movies.OriginalLanguage}}</li>
<li>{{$movies.Title}}</li>
<li>{{$ImgUrl}}{{$movies.BackdropPath}}</li>
<li>{{$movies.Popularity}}</li>
<li>{{$movies.VoteCount}}</li>
<li>{{$movies.Video}}</li>
<li>{{$movies.VoteAverage}}</li>
{{end}}
</ul>
</html>
{{end}}
`)
err = t.ExecuteTemplate(w, "T", p) // This writes the client response
}
我的印象是我应该能够像这样在我的 html 模板中调用它,
{{.TopMovies}}
但是当我运行应用程序时,数据没有出现在我调用它的 html 页面中。我在这里错过了什么?
我创建了一个这样的结构,
//A Page structure
type Page struct {
Title string
TopMovies string
}
然后在 main.go
http.HandleFunc("/TopPicks", TopMoviesHandler)
TopPicks.html
{{define "TopPicks"}}
{{template "header" .}}
<div class="content">
{{.TopMovies}}
</div>
{{template "footer" .}}
{{end}}
这是什么工作,
func aboutHandler(w http.ResponseWriter, r *http.Request) {
display(w, "about", &Page{Title: "About"})
}
我可以用与我之前提到的相同的方式向页面添加标题,但使用 display()
并在 html 模板中
<title>{{.Title}}</title>
我怎样才能使我的 json 响应有效?
慕码人8056858
互换的青春
相关分类