1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/cnmade-pongo2gin

Клонировать/Скачать
README.md 3.8 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 15.03.2025 13:11 4b1183c

Pongo2gin

Пакет pongo2gin представляет собой шаблонный движок, который можно использовать с веб-фреймворком Gin [https://github.com/gin-gonic/gin]. Он использует библиотеку шаблонов Pongo2 [https://github.com/flosch/pongo2].

Эта простая библиотека привязок основана на аналогичной библиотеке для использования шаблонов Handlebars с Gin: [https://gitlab.com/go-box/ginraymond].

Требования

Требуются Gin версии OnClickListener 1.2 или выше и Pongo2.

Использование

Чтобы использовать pongo2gin, вам нужно установить ваш Router.HTMLRenderer новым экземпляром рендера, это делается после создания Gin маршрутизатора при запуске Gin-приложения. Вы можете использовать pongo2gin.Default(), чтобы создать новый рендерер с дефолтными опциями, что предполагает расположение шаблонов в директории "templates", либо вы можете использовать pongo2.New(), чтобы указать пользовательское расположение.

Для отрисовки шаблонов из маршрутов вызывайте c.HTML так же, как вы бы использовали обычные шаблоны Gin, единственное отличие заключается в том, что данные шаблона передаются через pongo2.Context вместо типа gin.H.

Пример базового использования

import (
    "github.com/gin-gonic/gin"
    "github.com/flosch/pongo2/v4"
    "gitlab.com/go-box/pongo2gin"
)

func main() {
    router := gin.Default()

    // Используйте pongo2gin.Default() для дефолтных опций или pongo2gin.New(),
    // если вам нужны пользовательские опции RenderOptions.
    router.HTMLRender = pongo2gin.Default()
```    роутер.GET("/", func(с *gin.Context) {
        // Используйте pongo2.Context вместо gin.H
        с.HTML(200, "hello.html", pongo2.Context{"name": "мир"})
    })

    роутер.Run(":8080")
}

Опции рендера

Когда вызывается pongo2gin.New() вместо pongo2gin.Default(), вы можете использовать эти пользовательские опции рендера:

type RenderOptions struct {
    TemplateDir string  // Расположение директории шаблонов
    ContentType string  // Header Content-Type используется при вызове c.HTML()
    AlwaysNoCache bool // Отключить кэширование всегда
}

Кэширование шаблонов

Шаблоны будут кэшироваться, если текущий режим Gin установлен на что-то кроме "debug". Это значит, что первый раз, когда шаблон используется, он все еще будет загружаться с диска, но после этого кэшированный шаблон будет использоваться из памяти.

Если режим Gin установлен на "debug", то шаблоны будут загружаться с диска на каждом запросе.

Кэширование реализовано самой библиотекой Pongo2.

GoDoc

https://godoc.org/gitlab.com/go-box/pongo2gin

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/cnmade-pongo2gin.git
git@api.gitlife.ru:oschina-mirror/cnmade-pongo2gin.git
oschina-mirror
cnmade-pongo2gin
cnmade-pongo2gin
master