3.模板函数

最后更新于:2022-04-02 04:53:46

模板函数 beego 支持用户定义模板函数,但是必须在 beego.Run() 调用之前,设置如下: ~~~ func hello(in string)(out string){ out = in + "world" return } beego.AddFuncMap("hi",hello) ~~~ 定义之后你就可以在模板中这样使用了: ~~~ {{.Content | hi}} ~~~ beego 内置的模板函数: ~~~ |-- admin | |--controllers | `-- user.go ~~~ ~~~ package admin import ( "time" "github.com/astaxie/beego" ) type UserController struct { beego.Controller } func (this *UserController) Index() { // 函数 dateformat , 函数 date this.Data["time"] = time.Now() // 函数 compare this.Data["A"] = "A" this.Data["B"] = "B" // 函数 substr this.Data["str"] = "hello world!" // 函数 html2str this.Data["htmlInof"] = `this is function html2str ` // 函数 str2html this.Data["strHtml"] = `

this is function html2str

` // 函数 htmlquote this.Data["quote"] = `

this is function html2str

` // 函数 htmlunquote this.Data["unquote"] = `<h3>this is function html2str </h3>` // 函数 renderform type stu struct { Name string `form:"user_name"` Age int `form:"user_age"` Class int } // // // this.Data["struct"] = &stu{} // 函数 assets_js this.Data["js_src"] = "./public/js/test.js" // // 函数 assets_css this.Data["css_src"] = "./public/css/test.css" // // 函数 map_get this.Data["map"] = map[string]interface{}{ "key1": "value1", "key2": map[string]string{"key3": "value2"}, } this.TplName = "admin/user/index.html" } ~~~ ~~~ |-- views | |--admin | |--user | `-- index.html ~~~ ~~~ Document this is view admin/user/index.html
函数 dateformat :
{{dateformat .time "2006-01-02 15:04:05"}}
函数 date :
{{date .time "Y-m-d H:i:s"}}
函数 compare :
{ {compare .A .B} } => {{compare .A .B}}
函数 substr :
{{substr .str 0 6}}
{{substr .str 6 20}}
函数 html2str :
{{html2str .htmlInof}}
函数 str2html :
{{str2html .strHtml}}
函数 htmlquote :
{{htmlquote .quote}}
函数 htmlunquote :
{{htmlunquote .unquote}}
函数 renderform :
{{.struct | renderform}}
函数 assets_js :
{{assets_js .js_src}}
函数 assets_css :
{{assets_css .css_src}} 函数 config :
{{config "String" "appname" "default"}}
函数 map_get :
{{map_get .map "key1"}}
{{map_get .map "key2" "key3"}}
函数 urlfor :
{{urlfor "UserController.Index"}} ~~~
';