Задать вопрос
@vGrabko99
html, css, js, php, golang, mysql

Как работать с html/template?

Привет. Вот функция которая парсит html
func Views(templateName string, p map[string]string, w http.ResponseWriter) {
	t, err := template.ParseFiles("views/"+templateName)
	if err != nil {
		w.Header().Set("Status", "404 Not Found")
	}
	w.Header().Set("Content-Type", "text/html")
	t.Execute(w, p)
}


Я научился только передавать данные из карты.
Хочу включить head.html в шаблон что подгружаю. Делаю так
{{template "head.html".}}
В итоге пустой экран.
Потом не могу понять как впихнуть for в template.
Вот цикл
for _, bk := range bks {
		fmt.Fprintf(w, "'%s':'%s',", bk.id, bk.name)
	}

Хочу данные из него встроить в template напрямую, а не через мой костыль.
(сверху подгружаю верхнюю часть страницы. Тут генерирую основное содержимое и за циклом подгружаю нижнюю часть страницы)

Если можно дайте example code.
Зарание спасибо
  • Вопрос задан
  • 1402 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@aaronmortum
Посмотри https://www.youtube.com/watch?v=k27Oga3Wmxs

Там пример как сделать простое приложение

{{ define "index" }}

{{ template "header" }}

{{ range $key, $value := . }}
<div class="row">
	<div class="col-xs-2">
	</div>
	<div class="col-xs-8">
		<h1><a href="/edit?id={{$key}}">{{ $value.Title }}</a></h1>
	</div>
	<div class="col-xs-2">
	</div>
</div>
<div class="row">
	<div class="col-xs-2">
	</div>
	<div class="col-xs-8">
		{{ $value.Content }}
	</div>
	<div class="col-xs-2">
	</div>
</div>
{{ end }}

{{ template "footer" }}

{{ end }}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
AxianLTD
@AxianLTD
Охренеть. А зачем пытаться писать свой фреймворк когда уже есть куча других? JSF в руки в вперед...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы