所以現在 .Scan() 沒有接受類型 template.HTML; 它完全忽略它并且不向 HTML 輸出任何內容。這是我堅持和不確定的一件事。如果我將它作為字符串傳遞它可以工作,但 HTML 輸出為轉義字符<h2>metus congue如果有一個替代解決方案,那將是整潔的。代碼是一個單頁機 - 整頁:http ://pastebin.com/E4jXiv6p結構type Pages struct { Name string Url string Title string Description string H1 string Hero string Contents template.HTML Sidebar string Page_list [][]string}查詢頁面func db_query_pages(db *sql.DB, err error, page_list [][]string) { var name, url, title, description, h1, hero, sidebar string var contents template.HTML rows, err := db.Query("SELECT * FROM pages") for rows.Next() { rows.Scan(&name, &url, &title, &description, &h1, &hero, &contents, &sidebar) page := &Pages{ Name: name, Url: url, Title: title, Description: description, H1: h1, Hero: hero, Contents: contents, Sidebar: sidebar, Page_list: page_list, } render_page(page) }}渲染頁面func render_page(new_page *Pages) { http.HandleFunc(new_page.Url, func(w http.ResponseWriter, r *http.Request) { templates.ExecuteTemplate(w, "main", new_page) })}HTML{{define "content"}} <h1>{{.H1}}</h1> <img class="margin-bottom-md block common-border padding-md" src="{{.Hero}}"> {{.Contents}}{{end}}
1 回答

郎朗坤
TA貢獻1921條經驗 獲得超9個贊
你不能 Marshal 或 Unamrshal an html.Template
.
您需要在數據庫中存儲對模板名稱、原始模板數據或呈現的 html 的引用。
- 1 回答
- 0 關注
- 234 瀏覽
添加回答
舉報
0/150
提交
取消