В templates \ index.gohtml Я использую этот код:
{{template "header"}}
<h1>INDEX</h1>
{{template "nav"}}
<form action="/apply" method="post">
<label for="firstname">First Name</label>
<input type="text" name="firstname" id="firstname">
<input type="submit">
</form>
Но я получаю сообщение об ошибке:
html / template:index.gohtml: 3: 11: нет такого шаблона "nav"
Полагаю, это потому, что nav
определен в шаблонах \ includes \ nav.gohtml .Если это так, я не знаю, почему я не получаю ту же ошибку для header
, поскольку она находится в том же каталоге.
мой main.go выглядит так:
func init() {
tpl = template.Must(template.ParseGlob("templates/*.gohtml"))
}
func main() {
http.HandleFunc("/", index)
}
func index(w http.ResponseWriter, r *http.Request) {
err := tpl.ExecuteTemplate(w, "index.gohtml", nil)
if err != nil {
log.Println(err)
http.Error(w, "Internal server error", http.StatusInternalServerError)
}
}
Любая помощь будет оценена.