亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

模板繼承在go中創建空白頁面

模板繼承在go中創建空白頁面

Go
拉風的咖菲貓 2022-11-08 16:59:48
我正在嘗試創建一個完整的堆棧應用程序,但我在模板部分遇到了問題。只要頁面是靜態的,以下代碼就可以了,但是當我開始使用繼承函數(例如 {{template}}、{{define}} 或 {{block}})時會返回一個空白頁面。main.go :package mainimport (    "fmt"    "html/template"    "log"    "net/http"    "github.com/gorilla/mux")func main() {    router := mux.NewRouter()    router.HandleFunc("/", func(rw http.ResponseWriter, r *http.Request) {        fmt.Println("begin")        files := []string{            "layout.html",            "index.html",        }        tmpl, err := template.ParseFiles(files...)        if err != nil {            http.Error(rw, fmt.Sprintf("failed parsing template files | %s", err.Error()), http.StatusInternalServerError)            return        }        if err := tmpl.Execute(rw, nil); err != nil {            http.Error(rw, fmt.Sprintf("failed rendering template | %s", err.Error()), http.StatusInternalServerError)            return        }    }).Methods("GET")    if err := http.ListenAndServe(fmt.Sprintf(":3000"), router); err != nil {        log.Fatalf("failed starting server | %s", err.Error())    }}布局.html{{define "base"}}<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <meta http-equiv="X-UA-Compatible" content="IE=edge">        <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">        <!-- bootstrap CSS -->        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">        <title></title>    </head>    <body>        <main>            {{template "main" .}}        </main>索引.html{{template "base" .}}{{ define "main" }}    <h2>hello</h2>    <p>test</p>{{ end }}我已經從字面上復制了這些示例,但它仍然不起作用。我錯過了什么?
查看完整描述

1 回答

?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

ParseFiles返回參數列表中第一個文件的模板。文件的模板是 {{define}}/{{end}} 塊之外的內容。


列表中的第一個文件 layout.html 在 {{define}}/{{end}} 塊之外只有空格。


您需要文件 index.html 中的模板。交換文件的順序以解決問題。


    files := []string{

        "index.html",

        "layout.html",

    }


查看完整回答
反對 回復 2022-11-08
  • 1 回答
  • 0 關注
  • 116 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號