我有一个页面,可以从 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>
- 1 回答
- 0 关注
- 95 浏览
添加回答
举报
0/150
提交
取消