为了账号安全,请及时绑定邮箱和手机立即绑定

GO:使用 html/template 提供模板时出错

GO:使用 html/template 提供模板时出错

Go
素胚勾勒不出你 2021-08-10 15:16:37
我正在使用 html/template 来提供 html,但我不确定我是否正确使用它。我只粘贴了下面的相关代码(不完整):这是我的 Go 代码:func homehandler(w http.ResponseWriter, r *http.Request) {    userName := getUserName(r) //this is defined somewhere    if userName != "" {        t := template.Must(template.New("Tele").Parse(homePage))    t.Execute(w, ReadData()) //ReadData() is a function that reads from the MySQL database and returns a string array    } else {        (...some code)    }}func ReadData() ([]string) {    db, _ := sql.Open("mysql", "user1@/my_db")    (...some code)        rows, err := db.Query("select tweet from posts where username = ?", AddUser.Name) //AddUser is defined somewhere    (...some code)    for rows.Next() {        err := rows.Scan(&tweet)        if err != nil {            fmt.Println(err)        }    v := append(tweetarray, tweet)    fmt.Println(v)    return v    }    return []string{}}Go 代码中的 html 部分:const homePage = `<html><h1>hi {{ .userName}}</h1><form action="/home/tweets" method="POST"><label for="name">Tweet</label><input type="text" id="tweet" name="twt"</input><button type="Tweet">Tweet</button><h2>{{range $i := .tweetarray}} {{ $i }} {{end}}</h2>`HTML 根本不出现。我在代码中做错了什么?
查看完整描述

1 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

检查你的错误!(对不起,粗体,但这是许多围棋问题的答案)

t.Execute() 返回错误,因为您的模板中有格式错误的 html。

html/template:Tele: "<" in attribute name: "</input>\n<button type=\"Tweet\">Tw"

在对此类问题进行故障排除时,请尝试单独运行每个部分,或者至少记录一些调试信息以进行处理。


查看完整回答
反对 回复 2021-08-10
  • 1 回答
  • 0 关注
  • 333 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信