Как визуализировать HTML с данными golang в веб-фрейме golang gin?

Я пытаюсь разместить массив golang (также срез, структуру и т. д.) В HTML, чтобы я мог использовать элемент массива в содержимом элемента HTML при возврате HTML из веб-фреймворка golang gin. Другая проблема - как отобразить эти данные с помощью цикла? Такие как Flask jinja работает таким образом.

{% block body %}
  <ul>
  {% for user in users %}
  <li><a href = "{{ user.url }}">{{ user.username }}</a></li>
  {% endfor %}
  </ul>
github.com/gin-gonic/gin#html-rendering
Peter 14.03.2018 13:28
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
3
1
5 831
1

Ответы 1

Обычно у вас есть папка с файлами шаблонов, поэтому сначала вам нужно сообщить джинну, где находятся эти шаблоны:

router := gin.Default()
router.LoadHTMLGlob("templates/*")

Затем в функции обработчика вы просто передаете имя шаблона данным в функцию HTML следующим образом:

func (s *Server) renderIndex(c *gin.Context) {
    c.HTML(http.StatusOK, "index.tmpl", []string{"a", "b", "c"})
}

В index.tmpl вы можете зациклить данные следующим образом:

{{range .}}
    {{.}}
{{end}}

. всегда является текущим контекстом, поэтому в первой строке . - входные данные, а внутри цикла диапазона - . - текущий элемент.

Пример шаблона: https://play.golang.org/p/4_IPwD3Y84D

Документация по созданию шаблонов: https://golang.org/pkg/text/template/

Отличные примеры: https://astaxie.gitbooks.io/build-web-application-with-golang/en/07.4.html

Другие вопросы по теме