Посмотрев на скриншот, я заметил, что нет звонка на r.LoadHTMLFiles("templates/index.html")
или router.LoadHTMLGlob("templates/*")
. Если это не сделано ни в одном из ваших других файлов, это может быть проблемой. :
основной. go
package main
import (
"log"
"net/http"
"github.com/gin-gonic/gin"
)
// Book ...
type Book struct {
Title string
Author string
}
func main() {
r := gin.Default()
r.LoadHTMLFiles("index.html")
books := make([]Book, 0)
books = append(books, Book{
Title: "Title 1",
Author: "Author 1",
})
books = append(books, Book{
Title: "Title 2",
Author: "Author 2",
})
r.GET("/", func(c *gin.Context) {
c.HTML(http.StatusOK, "index.html", gin.H{
"books": books,
})
})
log.Fatal(r.Run())
}
индекс. html
<html>
{{ range $book := .books }}
<h1>{{ .Title }}</h1>
<h3>{{ .Author }}</h3>
<hr/>
{{ end }}
</html>