为什么我的模板没有在浏览器中呈现?

时间:2019-11-02 15:49:01

标签: html go

我想将模板呈现给浏览器。但是,没有任何显示。 这是我正在运行的代码, main.go

    package main

    import (
        "html/template"
        "net/http"
        "log"
    )


    func main() {
        mux := http.NewServeMux()
        mux.HandleFunc("/", home)
        log.Fatal(http.ListenAndServe("0.0.0.0:8000", mux))
    }


    func home(w http.ResponseWriter, r *http.Request) {
        data := pageData{"MyTabTitle", "MyPageName"}

        tmpl := template.Must(template.ParseFiles("base.html"))
        tmpl.Execute(w, data)
    }


    type pageData struct {
        tabTitle, pageName string
    }

在同一目录中,我还有 base.html -文件

    <!doctype html>
    <html>
        <head>
            <title> {{ .tabTitle }}
        </head>
        <body>
            <header>
                <h1> {{ .pageName }} </h1>
            </header>
        </body>
    </html>

1 个答案:

答案 0 :(得分:4)

pageData的字段未导出,因此模板引擎无法访问它们。将字段名称和对模板中名称的引用大写。另外,请不要忽略模板执行错误。