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

将数据和变量传递给模板

将数据和变量传递给模板

Go
函数式编程 2023-07-26 19:41:56
我有一个页面,可以从 URL 获取变量并使用它从数据库中获取一些数据。然后,我将数据传递到模板并显示结果。我想要做的是将变量和数据传递给模板。在我的代码中,我有以下内容:type Username struct {    Username string}type Order struct {    Order_id int    Customer string    Date_of_purchase string}func OrderPage(w http.ResponseWriter, r *http.Request) {    db := dbConnection()    username := r.URL.Query().Get("username")    query, err := db.Query("SELECT * FROM orders WHERE customer=?", username)    if err != nil {        panic(err.Error())    }    defer query.Close()    order := Order{}    results := []Order{}    for query.Next(){        var order_id int        var customer, date_of_purchase string        query.Scan(&order_id, &customer, &date_of_purchase)        order.Order_id = order_id        order.Customer = customer        order.Date_of_purchase = date_of_purchase        results = append(results, order)    }    fmt.Println(results)    temp.ExecuteTemplate(w, "user.html", results)}我不知道如何传递username := r.URL.Query().Get("username")以便稍后可以从模板访问它:<body>    <h2>Hello!</h2>    <h4>Here's a list of your orders with us:</h4>    <ul>        {{ range . }}        <li><a href="product?order={{ .Order_id }}">{{ .Order_id }}</a></li>        {{ end }}    </ul></body>我仍在学习这一点,所以我什至不知道如何解决这个问题。我可以做类似的事情吗?如何访问模板中的变量和数据?
查看完整描述

1 回答

?
浮云间

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

将包含查询结果和用户名的值传递给模板:


err := temp.ExecuteTemplate(w, "user.html", &struct {

    Orders []Order

    Username string

}{

    results,

    username,

})

if err != nil {

   // handle error

}

像这样使用它:


<body>

    <h2>Hello {{.Username}}!</h2>

    <h4>Here's a list of your orders with us:</h4>

    <ul>

        {{ range .Orders }}

        <li><a href="product?order={{ .Order_id }}">{{ .Order_id }}</a></li>

        {{ end }}

    </ul>

</body>


查看完整回答
反对 回复 2023-07-26
  • 1 回答
  • 0 关注
  • 95 浏览
慕课专栏
更多

添加回答

举报

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