【发布时间】:2014-08-31 12:25:21
【问题描述】:
我想获取我的数据库的一个表的值并在 html 中解析它们。这是我曾经尝试执行的代码,但我收到了一个名为 nested func not allowed 的错误。
我开始创建一个结构:
type App struct{
Title string
Author string
Description string
}
我创建了一个函数来渲染模板:
func render(w http.ResponseWriter, tmpl string){
tmpl = fmt.Sprintf("templates/%s", tmpl)
t, err := template.ParseFiles(tmpl)
if err != nil{
log.Print("template parsing error: ", err)
}
err = t.Execute(w, "")
if err != nil{
log.Print("template executing error: ", err)
}
}
然后,我在这里从数据库中获取应用程序并尝试将它们呈现为 html。
func myApps(w http.ResponseWriter, r *http.Request){
db, err := sql.Open("postgres"," user=postgres dbname=test host=localhost password=1234 sslmode=disable")
if err != nil{
log.Fatal(err)
}
rows, err := db.Query(`SELECT title, author, description FROM apps
WHERE title ILIKE $1
OR author ILIKE $1
OR description ILIKE $1`)
defer rows.Close()
apps := []App{}
for rows.Next(){
b := App{}
err := rows.Scan(&b.Title, &b.Author, &b.Description)
apps = append(apps, b)
render(w, "myapps.html", apps)
}
提前感谢您!
【问题讨论】: