Golang Templates - How to render html data within html/template?

Viewed 44

I have html data in database tables. It has HTML tags surrounding content. How can render it in a proper HTML format using Golang template?

main.go snippet -

pages_query := fmt.Sprintf("SELECT id, coalesce (accordian_label, '') as accordian_label, coalesce (accordian_contents, '') as accordian_contents, coalesce (user_id, '') as user_id, coalesce (accordian_menu_image_path, '') as accordian_menu_image_path FROM bz_template_accordian_data where user_id = %d", profile.Id) pagesDB, err := db.Query(pages_query)

if err != nil {
    log.Println("Issues with PAGES query")
    panic(err.Error())
}

pages := Pages{
    Id_pages:                  0,
    User_id:                   0,
    Accordian_label:           "",
    Accordian_contents:        "",
    Accordian_menu_image_path: "",
}
resPages := []Pages{}

for pagesDB.Next() {
    var id, user_id int64
    var accordian_label, accordian_contents, accordian_menu_image_path string

    log.Println(slide_query)
    err := pagesDB.Scan(&id, &accordian_label, &accordian_contents, &user_id, &accordian_menu_image_path)

    if err != nil {
        log.Println("db scan issues for pagesDB")
        panic(err.Error())
    }

    pages.Id_pages = id
    pages.Accordian_label = accordian_label
    pages.Accordian_contents = accordian_contents
    pages.User_id = user_id
    pages.Accordian_menu_image_path = accordian_menu_image_path

    resPages = append(resPages, pages)
    // log.Printf(" Showing pages slice %v", resPages)
    log.Println("Pages query executed properly")
    log.Printf("Showing pagesDB - %#v %#v %#v %#v ", accordian_label, accordian_contents, user_id, accordian_menu_image_path)
}

tmpl.ExecuteTemplate(w, "Pages", resPages)
defer db.Close()

pages.html - {{$p := index . 0}}{{$p.Accordian_label}} {{$p := index . 0}}{{$p.Accordian_contents}}

0 Answers
Related