我有一個頁面,可以從 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 關注
- 135 瀏覽
添加回答
舉報
0/150
提交
取消