gpt4 book ai didi

go - 将数据和变量传递到模板

转载 作者:行者123 更新时间:2023-12-01 22:08:59 25 4
gpt4 key购买 nike

我有一个页面,可以从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>

我仍在学习此方法,因此甚至不知道如何解决此问题。我可以这样做吗?如何访问模板中的变量和数据?

最佳答案

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

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>

关于go - 将数据和变量传递到模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58260325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com