私は mavgo Flight という Web ベースのデータ ブラウザーを構築しています。 すべてのデータが利用可能な場合にのみ印刷するデフォルトの動作ではなく、sqlite の大きなテーブルを継続的に印刷したいと考えています。データ行ごとにテンプレートを実行しようとしましたが、失敗しました。
func renderHTMLTable(w http.ResponseWriter, result *sqlx.Rows) { cols, err := result.Columns() if err != nil { log.Println(err, "renderHTMLTable") return } tmpl, err := template.ParseFiles("./templates/2d.html") if err != nil { log.Println("template failed", err) return } data := HTMLTable{} data.Cols = cols for result.Next() { cols, err := result.SliceScan() if err != nil { log.Println(w, err) break } s := make([]string, len(cols)) for i, v := range cols { s[i] = fmt.Sprint(v) } tmpl.Execute(w, s) } }
私は賢くなることをあきらめ、ceriseが示唆したとおりにしました 行を段階的に書き込む関数:
リーリー}
以上がGoでHTMLテンプレートを段階的に記述する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。