一、模板引擎

1. 模板中绑定基本数据、字符串、数值、布尔值

default.go:package controllers

import (

"github.com/astaxie/beego"

)

type MainController struct {

beego.Controller

}

func (c *MainController) Get() {

// 1. 模板中绑定基本数据、字符串、数值、布尔值

c.Data["website"] = "beego 教程"

c.Data["title"] = "你好beego"

c.Data["num"] = 12

c.Data["flag"] = true

c.TplName = "index.html"

}

index.html:

{{.Website}}

1. 模板中绑定基本数据、字符串、数值、布尔值

{{.title}}

{{.num}}

{{.flag}}

显示:

2. 模板中绑定结构体数据

default.go:package controllers

import (

"github.com/astaxie/beego"

)

type MainController struct {

beego.Controller

}

type Article struct {

Title string

Content string

}

func (c *MainController) Get() {

// 1. 模板中绑定基本数据、字符串、数值、布尔值

c.Data["website"] = "beego 教程"

c.Data["title"] = "你好beego"

c.Data["num"] = 12

c.Data["flag"] = true

// 2. 模板中绑定结构体数据

article := Article{

Title: "Golang教程",

Content: "beego实战项目",

}

c.Data["article"] = article

c.TplName = "index.html"

}

index.html:

{{.Website}}

1. 模板中绑定基本数据、字符串、数值、布尔值

{{.title}}

{{.num}}

{{.flag}}

2. 模板中绑定结构体数据

{{.article.Title}}

{{.article.Content}}

显示:

3. 模板中自定义变量

index.html:

{{.Website}}

1. 模板中绑定基本数据、字符串、数值、布尔值

{{.title}}

{{.num}}

{{.flag}}

2. 模板中绑定结构体数据

{{.article.Title}}

{{.article.Content}}

3. 模板中自定义变量

{{$title := .title}}

{{$title}}

显示:

4. 模板中循环遍历 range 模板中循环切片

default.go:package controllers

import (

"github.com/astaxie/beego"

)

type MainController struct {

beego.Controller

}

type Article struct {

Title string

Content string

}

func (c *MainController) Get() {

// 1. 模板中绑定基本数据、字符串、数值、布尔值

c.Data["website"] = "beego 教程"

c.Data["title"] = "你好beego"

c.Data["num"] = 12

c.Data["flag"] = true

// 2. 模板中绑定结构体数据

article := Article{

Title: "Golang教程",

Content: "beego实战项目",

}

c.Data["article"] = article

// 4. 模板中循环遍历 range 模板中循环切片

c.Data["sliceList"] = []string{"php", "golang", "python"}

c.TplName = "index.html"

}

index.html:

{{.Website}}

1. 模板中绑定基本数据、字符串、数值、布尔值

{{.title}}

{{.num}}

{{.flag}}

2. 模板中绑定结构体数据

{{.article.Title}}

{{.article.Content}}

3. 模板中自定义变量

{{$title := .title}}

{{$title}}

4. 模板中循环遍历 range 模板中循环切片

{{range $key,$val := .sliceList}}

{{$key}}---{{$val}}

{{end}}

显示:

5. 模板中循环遍历 range 模板中循环 Map

default.go:package controllers

import (

"github.com/astaxie/beego"

)

type MainController struct {

beego.Controller

}

type Article struct {

Title string

Content string

}

func (c *MainController) Get() {

// 1. 模板中绑定基本数据、字符串、数值、布尔值

c.Data["website"] = "beego 教程"

c.Data["title"] = "你好beego"

c.Data["num"] = 12

c.Data["flag"] = true

// 2. 模板中绑定结构体数据

article := Article{

Title: "Golang教程",

Content: "beego实战项目",

}

c.Data["article"] = article

// 4. 模板中循环遍历 range 模板中循环切片

c.Data["sliceList"] = []string{"php", "golang", "python"}

// 5. 模板中循环遍历 range 模板中循环 Map

userinfo := make(map[string]interface{})

userinfo["username"] = "张三"

userinfo["age"] = 20

userinfo["sex"] = "男"

c.Data["userinfo"] = userinfo

c.TplName = "index.html"

}

index.html:

{{.Website}}

1. 模板中绑定基本数据、字符串、数值、布尔值

{{.title}}

{{.num}}

{{.flag}}

2. 模板中绑定结构体数据

{{.article.Title}}

{{.article.Content}}

3. 模板中自定义变量

{{$title := .title}}

{{$title}}

4. 模板中循环遍历 range 模板中循环切片

{{range $key,$val := .sliceList}}

{{$key}}---{{$val}}

{{end}}

5. 模板中循环遍历 range 模板中循环 Map

{{range $key,$val := .userinfo}}

{{$key}}---{{$val}}

{{end}}

显示:

6. 模板中循环遍历结构体类型的切片

default.go:package controllers

import (

"github.com/astaxie/beego"

)

type MainController struct {

beego.Controller

}

type Article struct {

Title string

Content string

}

func (c *MainController) Get() {

// 1. 模板中绑定基本数据、字符串、数值、布尔值

c.Data["website"] = "beego 教程"

c.Data["title"] = "你好beego"

c.Data["num"] = 12

c.Data["flag"] = true

// 2. 模板中绑定结构体数据

article := Article{

Title: "Golang教程",

Content: "beego实战项目",

}

c.Data["article"] = article

// 4. 模板中循环遍历 range 模板中循环切片

c.Data["sliceList"] = []string{"php", "golang", "python"}

// 5. 模板中循环遍历 range 模板中循环 Map

userinfo := make(map[string]interface{})

userinfo["username"] = "张三"

userinfo["age"] = 20

userinfo["sex"] = "男"

c.Data["userinfo"] = userinfo

// 6. 模板中循环遍历结构体类型的切片

c.Data["articleList"] = []Article{

{

Title: "新闻1",

Content: "新闻内容1",

},

{

Title: "新闻2",

Content: "新闻内容2",

},

{

Title: "新闻3",

Content: "新闻内容3",

},

}

c.TplName = "index.html"

}

index.html:

{{.Website}}

1. 模板中绑定基本数据、字符串、数值、布尔值

{{.title}}

{{.num}}

{{.flag}}

2. 模板中绑定结构体数据

{{.article.Title}}

{{.article.Content}}

3. 模板中自定义变量

{{$title := .title}}

{{$title}}

4. 模板中循环遍历 range 模板中循环切片

{{range $key,$val := .sliceList}}

{{$key}}---{{$val}}

{{end}}

5. 模板中循环遍历 range 模板中循环 Map

{{range $key,$val := .userinfo}}

{{$key}}---{{$val}}

{{end}}

6. 模板中循环遍历结构体类型的切片

{{range $key,$val := .articleList}}

{{$key}}---{{$val.Title}}---{{$val.Content}}

{{end}}

显示:

7. 结构体类型的切片的另一种定义方式

default.go:package controllers

import (

"github.com/astaxie/beego"

)

type MainController struct {

beego.Controller

}

type Article struct {

Title string

Content string

}

func (c *MainController) Get() {

// 1. 模板中绑定基本数据、字符串、数值、布尔值

c.Data["website"] = "beego 教程"

c.Data["title"] = "你好beego"

c.Data["num"] = 12

c.Data["flag"] = true

// 2. 模板中绑定结构体数据

article := Article{

Title: "Golang教程",

Content: "beego实战项目",

}

c.Data["article"] = article

// 4. 模板中循环遍历 range 模板中循环切片

c.Data["sliceList"] = []string{"php", "golang", "python"}

// 5. 模板中循环遍历 range 模板中循环 Map

userinfo := make(map[string]interface{})

userinfo["username"] = "张三"

userinfo["age"] = 20

userinfo["sex"] = "男"

c.Data["userinfo"] = userinfo

// 6. 模板中循环遍历结构体类型的切片

c.Data["articleList"] = []Article{

{

Title: "新闻1",

Content: "新闻内容1",

},

{

Title: "新闻2",

Content: "新闻内容2",

},

{

Title: "新闻3",

Content: "新闻内容3",

},

}

// 7. 结构体类型的切片的另一种定义方式

/*

匿名结构体,它就是一个类型

struct {

Title string

}

*/

c.Data["cmsList"] = []struct{

Title string

}{

{

Title: "新闻1",

},

{

Title: "新闻2",

},

{

Title: "新闻3",

},

}

c.TplName = "index.html"

}

index.html:

{{.Website}}

1. 模板中绑定基本数据、字符串、数值、布尔值

{{.title}}

{{.num}}

{{.flag}}

2. 模板中绑定结构体数据

{{.article.Title}}

{{.article.Content}}

3. 模板中自定义变量

{{$title := .title}}

{{$title}}

4. 模板中循环遍历 range 模板中循环切片

{{range $key,$val := .sliceList}}

{{$key}}---{{$val}}

{{end}}

5. 模板中循环遍历 range 模板中循环 Map

{{range $key,$val := .userinfo}}

{{$key}}---{{$val}}

{{end}}

6. 模板中循环遍历结构体类型的切片

{{range $key,$val := .articleList}}

{{$key}}---{{$val.Title}}---{{$val.Content}}

{{end}}

7. 结构体类型的切片的另一种定义方式

{{range $key,$val := .cmsList}}

{{$key}}---{{$val.Title}}

{{end}}

显示:

8. 模板中的条件

default.go:package controllers

import (

"github.com/astaxie/beego"

)

type MainController struct {

beego.Controller

}

type Article struct {

Title string

Content string

}

func (c *MainController) Get() {

// 1. 模板中绑定基本数据、字符串、数值、布尔值

c.Data["website"] = "beego 教程"

c.Data["title"] = "你好beego"

c.Data["num"] = 12

c.Data["flag"] = true

// 2. 模板中绑定结构体数据

article := Article{

Title: "Golang教程",

Content: "beego实战项目",

}

c.Data["article"] = article

// 4. 模板中循环遍历 range 模板中循环切片

c.Data["sliceList"] = []string{"php", "golang", "python"}

// 5. 模板中循环遍历 range 模板中循环 Map

userinfo := make(map[string]interface{})

userinfo["username"] = "张三"

userinfo["age"] = 20

userinfo["sex"] = "男"

c.Data["userinfo"] = userinfo

// 6. 模板中循环遍历结构体类型的切片

c.Data["articleList"] = []Article{

{

Title: "新闻1",

Content: "新闻内容1",

},

{

Title: "新闻2",

Content: "新闻内容2",

},

{

Title: "新闻3",

Content: "新闻内容3",

},

}

// 7. 结构体类型的切片的另一种定义方式

/*

匿名结构体,它就是一个类型

struct {

Title string

}

*/

c.Data["cmsList"] = []struct{

Title string

}{

{

Title: "新闻1",

},

{

Title: "新闻2",

},

{

Title: "新闻3",

},

}

// 8. 模板中的条件判断

c.Data["isLogin"] = true

c.Data["isHome"] = true

c.Data["isAbout"] = true

c.TplName = "index.html"

}

index.html:

{{.Website}}

1. 模板中绑定基本数据、字符串、数值、布尔值

{{.title}}

{{.num}}

{{.flag}}

2. 模板中绑定结构体数据

{{.article.Title}}

{{.article.Content}}

3. 模板中自定义变量

{{$title := .title}}

{{$title}}

4. 模板中循环遍历 range 模板中循环切片

{{range $key,$val := .sliceList}}

{{$key}}---{{$val}}

{{end}}

5. 模板中循环遍历 range 模板中循环 Map

{{range $key,$val := .userinfo}}

{{$key}}---{{$val}}

{{end}}

6. 模板中循环遍历结构体类型的切片

{{range $key,$val := .articleList}}

{{$key}}---{{$val.Title}}---{{$val.Content}}

{{end}}

7. 结构体类型的切片的另一种定义方式

{{range $key,$val := .cmsList}}

{{$key}}---{{$val.Title}}

{{end}}

8. 模板中的条件

{{if .isLogin}}

isLogin等于true

{{end}}

{{if .isHome}}

isHome等于true

{{else}}

isHome等于false

{{end}}

显示:

9. if 语句条件判断 eq/ne/lt/le/gt/ge

default.go:package controllers

import (

"github.com/astaxie/beego"

)

type MainController struct {

beego.Controller

}

type Article struct {

Title string

Content string

}

func (c *MainController) Get() {

// 1. 模板中绑定基本数据、字符串、数值、布尔值

c.Data["website"] = "beego 教程"

c.Data["title"] = "你好beego"

c.Data["num"] = 12

c.Data["flag"] = true

// 2. 模板中绑定结构体数据

article := Article{

Title: "Golang教程",

Content: "beego实战项目",

}

c.Data["article"] = article

// 4. 模板中循环遍历 range 模板中循环切片

c.Data["sliceList"] = []string{"php", "golang", "python"}

// 5. 模板中循环遍历 range 模板中循环 Map

userinfo := make(map[string]interface{})

userinfo["username"] = "张三"

userinfo["age"] = 20

userinfo["sex"] = "男"

c.Data["userinfo"] = userinfo

// 6. 模板中循环遍历结构体类型的切片

c.Data["articleList"] = []Article{

{

Title: "新闻1",

Content: "新闻内容1",

},

{

Title: "新闻2",

Content: "新闻内容2",

},

{

Title: "新闻3",

Content: "新闻内容3",

},

}

// 7. 结构体类型的切片的另一种定义方式

/*

匿名结构体,它就是一个类型

struct {

Title string

}

*/

c.Data["cmsList"] = []struct{

Title string

}{

{

Title: "新闻1",

},

{

Title: "新闻2",

},

{

Title: "新闻3",

},

}

// 8. 模板中的条件判断

c.Data["isLogin"] = true

c.Data["isHome"] = true

c.Data["isAbout"] = true

// 9. if 语句条件判断 eq/ne/lt/le/gt/ge

c.Data["n1"] = 12

c.Data["n2"] = 6

c.TplName = "index.html"

}

index.html:

{{.Website}}

1. 模板中绑定基本数据、字符串、数值、布尔值

{{.title}}

{{.num}}

{{.flag}}

2. 模板中绑定结构体数据

{{.article.Title}}

{{.article.Content}}

3. 模板中自定义变量

{{$title := .title}}

{{$title}}

4. 模板中循环遍历 range 模板中循环切片

{{range $key,$val := .sliceList}}

{{$key}}---{{$val}}

{{end}}

5. 模板中循环遍历 range 模板中循环 Map

{{range $key,$val := .userinfo}}

{{$key}}---{{$val}}

{{end}}

6. 模板中循环遍历结构体类型的切片

{{range $key,$val := .articleList}}

{{$key}}---{{$val.Title}}---{{$val.Content}}

{{end}}

7. 结构体类型的切片的另一种定义方式

{{range $key,$val := .cmsList}}

{{$key}}---{{$val.Title}}

{{end}}

8. 模板中的条件

{{if .isLogin}}

isLogin等于true

{{end}}

{{if .isHome}}

isHome等于true

{{else}}

isHome等于false

{{end}}

9. if 语句条件判断 eq/ne/lt/le/gt/ge

{{if gt .n1 .n2}}

n1大于n2

{{end}}

{{if eq .n1 .n2}}

n1等于n2

{{else}}

n1不等于n2

{{end}}

显示:

10. define 自定义模板

index.html:

{{.Website}}

1. 模板中绑定基本数据、字符串、数值、布尔值

{{.title}}

{{.num}}

{{.flag}}

2. 模板中绑定结构体数据

{{.article.Title}}

{{.article.Content}}

3. 模板中自定义变量

{{$title := .title}}

{{$title}}

4. 模板中循环遍历 range 模板中循环切片

{{range $key,$val := .sliceList}}

{{$key}}---{{$val}}

{{end}}

5. 模板中循环遍历 range 模板中循环 Map

{{range $key,$val := .userinfo}}

{{$key}}---{{$val}}

{{end}}

6. 模板中循环遍历结构体类型的切片

{{range $key,$val := .articleList}}

{{$key}}---{{$val.Title}}---{{$val.Content}}

{{end}}

7. 结构体类型的切片的另一种定义方式

{{range $key,$val := .cmsList}}

{{$key}}---{{$val.Title}}

{{end}}

8. 模板中的条件

{{if .isLogin}}

isLogin等于true

{{end}}

{{if .isHome}}

isHome等于true

{{else}}

isHome等于false

{{end}}

9. if 语句条件判断 eq/ne/lt/le/gt/ge

{{if gt .n1 .n2}}

n1大于n2

{{end}}

{{if eq .n1 .n2}}

n1等于n2

{{else}}

n1不等于n2

{{end}}

10. define 自定义模板

{{define "a"}}

这是一个自定义的代码块

111

{{end}}

{{template "a" .}}

显示:

11. 外部自定义模板

index.html:

{{.Website}}

{{template "/public/header.html"}}

1. 模板中绑定基本数据、字符串、数值、布尔值

{{.title}}

{{.num}}

{{.flag}}

2. 模板中绑定结构体数据

{{.article.Title}}

{{.article.Content}}

3. 模板中自定义变量

{{$title := .title}}

{{$title}}

4. 模板中循环遍历 range 模板中循环切片

{{range $key,$val := .sliceList}}

{{$key}}---{{$val}}

{{end}}

5. 模板中循环遍历 range 模板中循环 Map

{{range $key,$val := .userinfo}}

{{$key}}---{{$val}}

{{end}}

6. 模板中循环遍历结构体类型的切片

{{range $key,$val := .articleList}}

{{$key}}---{{$val.Title}}---{{$val.Content}}

{{end}}

7. 结构体类型的切片的另一种定义方式

{{range $key,$val := .cmsList}}

{{$key}}---{{$val.Title}}

{{end}}

8. 模板中的条件

{{if .isLogin}}

isLogin等于true

{{end}}

{{if .isHome}}

isHome等于true

{{else}}

isHome等于false

{{end}}

9. if 语句条件判断 eq/ne/lt/le/gt/ge

{{if gt .n1 .n2}}

n1大于n2

{{end}}

{{if eq .n1 .n2}}

n1等于n2

{{else}}

n1不等于n2

{{end}}

10. define 自定义模板

{{define "a"}}

这是一个自定义的代码块

111

{{end}}

{{template "a" .}}

11. 外部自定义模板

{{template "/public/footer.html"}}

在 views 文件夹下新建 public 文件夹,然后新建 header.html 和 footer.html

header.html:

这是一个头部

footer.html:

footer{

width: 100%;

height: 60px;

background: #000;

text-align: center;

color: #fff;

}

这是一个底部

显示:

二、内置模板函数

在 controllers 文件夹下新建一个 article.go 文件:package controllers

import (

"github.com/astaxie/beego"

"time"

)

type ArticleController struct {

beego.Controller

}

func (c *ArticleController) Get() {

c.Data["title"] = "你好beego"

now := time.Now()

c.Data["now"] = now // 把日期渲染到模板上

c.TplName = "article.html"

}

在 router.go 中添加路由:package routers

import (

"beegodemo03/controllers"

"github.com/astaxie/beego"

)

func init() {

beego.Router("/", &controllers.MainController{})

beego.Router("/article", &controllers.ArticleController{})

}

views 文件夹下新建一个 article.html:

文章

{{template "/public/header.html"}}

{{.now}}

{{date .now "Y-m-d H:i:s"}}

{{template "/public/footer.html"}}

显示:

三、参考教程查看原文

python清洗数据 food ounces animal_Wonz 的动态 - SegmentFault 思否相关推荐

  1. python经济统计公报_东哥起飞 的动态 - SegmentFault 思否

    作者:xiaoyu 微信公众号:Python数据科学 前言 玩过建模的朋友都知道,在建立模型之前有很长的一段特征工程工作要做,而在特征工程的过程中,探索性数据分析又是必不可少的一部分,因为如果我们要对 ...

  2. python画风车增加叶片_小风车 的动态 - SegmentFault 思否

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaSE, ...

  3. python程序执行完后重头开始做烧饼_下塘烧饼 的动态 - SegmentFault 思否

    一.背景 java8的垃圾回收器一般推荐的是parNew+CMS,分别针对新生代和老年代的垃圾回收器.实际生产上,有时需要分析GC日志,检查GC回收有没有引起过多的系统暂停,特别是full GC. 二 ...

  4. xmap 配置php环境,xmap 的动态 - SegmentFault 思否

    首先声明,我在"Bug"字眼上加了引号,自然是为了说明它并非一个真 Bug. 问题抛出 昨天有个童鞋在看后台监控的时候,突然发现了一个错误:[error] 000001#0: .. ...

  5. mysql分表动态扩展_小星星 的动态 - SegmentFault 思否

    DolphinDB支持动态加载外部插件,以扩展系统功能.插件用C++编写,需要编译成".so"或".dll"共享库文件.本文着重介绍开发插件的方法和注意事项,并 ...

  6. java 渐变橡皮擦_橡皮擦 的动态 - SegmentFault 思否

    什么是MyBatisMyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为M ...

  7. inxtrackup mysql_雪糕 的动态 - SegmentFault 思否

    序 题记:搞定了就是故事,搞不定就是事故. 条件有限,开局只有一台开发机,要跑5套子系统组成的项目群.还要有一些辅助和验证的系统要跑在这上面.从配置来看,要想顺畅开心地完成项目群基础环境支撑,考虑引入 ...

  8. bmf mysql_bmf 的动态 - SegmentFault 思否

    函数的调用过程主要要点在于借助寄存器和内存帧栈传递参数和返回值.虽然同为编译型语言,Go 相较 C 对寄存器和栈的使用有一些差别,同时,Go 语言自带协程并引入 defer 等语句,在调用过程上显得更 ...

  9. tr闭包_蓝色的梦 的动态 - SegmentFault 思否

    图标是页面中非常友好的附加物,许多网站都会使用各种图标来美化页面样式,给用户提供更好的指引.本文将会和大家一起学习页面图标的发展史,以及当前的最优解决方案. 传统图标 字体图标 SVG 图标 传统图标 ...

最新文章

  1. Dropbox如何使用机器学习从数十亿图片中自动提取文字
  2. FastReport 导出pdf时中文乱码的解决办法
  3. 【数据结构】树状数组详解(Leetcode.315)
  4. python数字转日期函数_【转】Python 日期和时间
  5. python 如何定义空字典_python字典中如何添加键值对
  6. python中config命令_python的logging.config使用详解
  7. 卫健委:不存在因流感引起大量坏死性脑病的现象
  8. 引路蜂地图API:Gis.Location包定义
  9. 知识分享 | 什么是CAN线波特率
  10. android检测蜂窝网络,Android 判断网络状态及开启网路
  11. 理解PeopleSoft HRMS人力资源管理系统
  12. [CUPOJ] 直角三角形周长 枚举优化 题解
  13. python警示:WARNING: Ignoring invalid distribution
  14. C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)
  15. 骨传导耳机到底怎么样,五款好用的骨传导耳机推荐
  16. Android的camerax预览拍照
  17. Gram矩阵和核函数
  18. IOS OpenGL ES GPUImage 图像Lanczos重取样模糊效果 GPUImageLanczosResamplingFilter
  19. Invalid bound statement (not found): com.admin.dao.SysLogUserMapper.selectByUserAndLogou
  20. 口红会染唇是什么意思_唇釉染唇是什么意思

热门文章

  1. 如何制作一个在线订酒店的小程序
  2. python生成快递取件码没了怎么办_货到速递易,但没有收到取件码,怎么办
  3. 前端CSS核心内容定位
  4. 从一维cutting问题看列生成算法
  5. 铁流:中国突破半导体新工艺研发
  6. define宏定义函数及用模板函数实现同样的功能
  7. 页码数字统计问题(数字统计问题)
  8. [网站] 中国古代名画鉴赏网站
  9. android gpu平板 推荐,性能强的不像话,最强安卓平板华为平板M6上手
  10. c语言数据文件是,C语言数据文件操作.ppt