Шаблоны Golang не работают, используя относительные пути
Я просто не понимаю шаблоны Go и относительные пути...
Используя следующую структуру каталогов:
Application Directory
program.go
program executable
-- css
program.css
-- pages
index.gohtml
wartree.gohtml
На данный момент мои шаблоны представляют собой чистый HTML, который используется в различных средах в течение нескольких лет.
У меня есть следующий код Go:
package main
import (
"fmt"
"log"
"net/http"
"html/template"
)
func main() {
http.HandleFunc("/", index)
http.HandleFunc("/wartree", wartree)
log.Fatal(http.ListenAndServe(":8080", nil))
}
func index(w http.ResponseWriter, r *http.Request) {
fmt.Println("Index has been called...")
tmpl := template.Must(template.ParseGlob("pages/*"))
tmpl.Execute(w, nil)
}
func wartree(w http.ResponseWriter, r *http.Request) {
fmt.Println("wartree has been called...")
tmpl := template.Must(template.ParseFiles("wartree.gohtml"))
tmpl.Execute(w, nil)
}
Оба шаблона имеют следующую строку в заголовках шаблонов HTML...<link href="css/nav.css" type="text/css" media="screen" />
Когда я запускаю программу, css не используется, и я не могу вызвать шаблон Wartree. Он просто снова вызывает index???
Я даже пытался изменить путь к CSS, чтобы он был абсолютным, но это не имело никакого значения, и я не вижу ошибок ни в Go, ни в браузере.
Я просто не получаю шаблоны и пути Go. Похоже.