В настоящее время я пытаюсь создать небольшое веб-приложение, используя golang, и я следую инструкциям на их веб-странице (https://golang.org/doc/articles/wiki/final.go). Вместо того, чтобы шаблоны находились в той же папке, что и остальная часть кода, который яя пытаюсь переместить их в templates/template_name.html
.
. Для рендеринга шаблонов я использую следующий код:
var templates = template.Must(template.ParseFiles("templates/edit.html", "templates/view.html"))
func renderTemplate(w http.ResponseWriter, tmpl string, p *Page) {
err := templates.ExecuteTemplate(w, "templates/"+tmpl+".html", p)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
}
}
И, например, мой обработчик View выглядит следующим образом:
func viewHandler(w http.ResponseWriter, r *http.Request, title string) {
p, err := loadPage(title)
if err != nil {
http.Redirect(w, r, "/edit/"+title, http.StatusFound)
return
}
renderTemplate(w, "view", p)
}
У меня есть папка templates/
с файлом edit.html
и * 1014. * Я запускаю полный код с: go run wiki.go
, но при попытке получить доступ к веб-странице я получаю следующую ошибку:
html/template: "templates/view.html" is undefined
Есть идеи о том, что может происходить?