golang gin框架 html模板布局layout 使用block块继承 最新完美版

yuxingfei · · 1359 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

golang gin框架 html模板布局layout 使用block块继承 最新完美版


最近需要gin框架使用html模板开发几个界面

在网上找了一遍gin框架使用模板layout布局,block继承的相关资料,一无所获,基本都是使用html自带的包通过解析文件最原始的方式使用的,要不就是gin框架中转换成原始的方式,于是就自己琢磨,怎样才能使用gin框架完美的使用到html的layout模板布局,结合其他语言的模板基础方式,突然灵光一闪,想到了下面这种方式,废话不多说,直接上代码


demo简单布局,使用的go mod 模式,gin-html.go 主文件与views文件夹在同一目录


gin-html.go代码,首先需要指定加载模板的目录,正常的使用gin框架的HTML响应模板和传递变量(这里坐到了完美兼容,网上很多资料都不是这样的,没有坐到真正的完美兼容)

packagemain

import(

"github.com/gin-gonic/gin"

"net/http"

)

funcmain(){

router := gin.Default()

//指定模板加载目录

router.LoadHTMLGlob("views/**/*")

router.GET("/",func(context *gin.Context){

context.HTML(http.StatusOK,"index/index.html",gin.H{

"title":"main.html title",

"content_before":"content 内容上部分",

"content_text":"content 内容部分",

"content_after":"content 内容下部分",

})

})

router.Run(":8000")

}

views/layout/main.html代码 

{{define "layout/main.html"}}

{{.title}}

{{/*    自定义style*/}}

    {{block "styles" .}}{{end}}

{{.content_before}}

{{/*content内容部分*/}}

{{block "content" .}}{{end}}

{{.content_after}}

{{/*自定义script*/}}

{{block "scripts" .}}{{end}}

{{end}}

views/index/index.html代码 

{{define "index/index.html"}}

{{/*继承main.html*/}}

    {{template "layout/main.html" .}}

{{end}}

{{define "content"}}

        {{.content_text}}

{{end}}

{{define "styles"}}

.c{

color: red;

font-size:32px;

    }

{{end}}

{{define "scripts"}}

console.log("script继承部分")

{{end}}

启动运行,结果界面

鉴于网上找了很多资料都没有这方面的介绍,特意分享给大家,避免大家走弯路,如果有需要beego 通用后台系统的,请点击这里,或直接访问github地址beego-admin


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:yuxingfei

查看原文:golang gin框架 html模板布局layout 使用block块继承 最新完美版

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1359 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传