Я новичок в Go и разрабатываю веб-сайт с помощью Go. Я хочу использовать несколько шаблонов, например, базовый шаблон для объединения с другими шаблонами, такими как index. Я хотел бы, чтобы все шаблоны анализировались при первом запуске приложения. На данный момент у меня есть base.html, footer.html и index.html. Я хочу обслуживать index.html, который также использует base.html и footer.html. На данный момент единственный ответ, который я получаю от сервера, — это одна новая строка в HTTP-ответе 200, проверенном wireshark. В любом случае, вот мои файлы:
main.go
package main
import (
"html/template"
"log"
"net/http"
)
type Initial struct {
Data string
}
var cached_templates = template.Must(template.ParseFiles("templates/base.html",
"templates/footer.html",
"templates/index.html"))
func renderInitialTemplate(w http.ResponseWriter, _template string, data *Initial) {
err := cached_templates.ExecuteTemplate(w, _template, data)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
}
func indexHandler(w http.ResponseWriter, r *http.Request) {
data := &Initial{Data: "Bob"}
renderInitialTemplate(w, "index.html", data)
}
func main() {
http.HandleFunc("/", indexHandler)
log.Fatal(http.ListenAndServe(":80", nil))
}
index.html – https://pastebin.com/LPy0Xb2Z
footer.html – https://pastebin.com/vVenX4qE
base.html – https://pastebin.com/1jKxv7Uz
Я ценю любую помощь. Спасибо.