Beego模板用法-创建beeblog[通俗易懂]

Beego模板用法-创建beeblog[通俗易懂]Beego模板用法-创建beeblog

大家好,又见面了,我是你们的朋友全栈君。

1、创建beeblog项目

➜  go pwd
/Users/daixuan/qbox/go
➜  go bee new beeblog
______
| ___ \
| |_/ /  ___   ___
| ___ \ / _ \ / _ \
| |_/ /|  __/|  __/
\____/  \___| \___| v1.10.0
2018/07/29 17:20:41 WARN     ▶ 0001 You current workdir is not inside $GOPATH/src.
2018/07/29 17:20:41 INFO     ▶ 0002 Creating application...
    create   /Users/daixuan/qbox/go/src/beeblog/
    create   /Users/daixuan/qbox/go/src/beeblog/conf/
    create   /Users/daixuan/qbox/go/src/beeblog/controllers/
    create   /Users/daixuan/qbox/go/src/beeblog/models/
    create   /Users/daixuan/qbox/go/src/beeblog/routers/
    create   /Users/daixuan/qbox/go/src/beeblog/tests/
    create   /Users/daixuan/qbox/go/src/beeblog/static/
    create   /Users/daixuan/qbox/go/src/beeblog/static/js/
    create   /Users/daixuan/qbox/go/src/beeblog/static/css/
    create   /Users/daixuan/qbox/go/src/beeblog/static/img/
    create   /Users/daixuan/qbox/go/src/beeblog/views/
    create   /Users/daixuan/qbox/go/src/beeblog/conf/app.conf
    create   /Users/daixuan/qbox/go/src/beeblog/controllers/default.go
    create   /Users/daixuan/qbox/go/src/beeblog/views/index.tpl
    create   /Users/daixuan/qbox/go/src/beeblog/routers/router.go
    create   /Users/daixuan/qbox/go/src/beeblog/tests/default_test.go
    create   /Users/daixuan/qbox/go/src/beeblog/main.go
2018/07/29 17:20:41 SUCCESS  ▶ 0003 New application successfully created!
➜  go ll /Users/daixuan/qbox/go/src
total 0
drwxr-xr-x  10 daixuan  staff   320 Jul 29 17:20 beeblog

2、自定义数据结构

➜  beeblog vim /Users/daixuan/qbox/go/src/beeblog/controllers/default.go
package controllers

import (
    "github.com/astaxie/beego"
)

type MainController struct {
    beego.Controller
}

func (c *MainController) Get() {
    c.Data["Website"] = "beego.me"
    c.Data["Email"] = "astaxie@gmail.com"
    c.TplName = "index.tpl"
    c.Data["TrueCond"] = true
    c.Data["FalseCond"] = false
//添加一个结构
    type u struct{
        Name string
        Age int
        Sex string
    }
    user := &u{
        Name: "Joe",
        Age: 20,
        Sex: "Male",
    }
    c.Data["User"] = user
}

➜  beeblog vim /Users/daixuan/qbox/go/src/beeblog/views/index.tpl
<body>
  <header>
    <h1 class="logo">Welcome to Beego</h1>
    <div class="description">
      Beego is a simple & powerful Go web framework which is inspired by tornado and sinatra.
    </div>
  </header>
  <footer>
    <div class="author">
      Official website:
      <a href="http://{
   
   {.Website}}">{
   
   {.Website}}</a> /
      Contact me:
      <a class="email" href="mailto:{
   
   {.Email}}">{
   
   {.Email}}</a>
      <a class="email" href="mailto:{
   
   {.User}}">{
   
   {.User}}</a>
    </div>
  </footer>
  <div class="backdrop"></div>
  <div>
  {
   
   {if .TrueCond}}
    true condition
  {
   
   {end}}
  </div>

  <div>
  {
   
   {if .FalseCond}}
  {
   
   {else}}
    false condition.
  {
   
   {end}}
  </div>

  <div>
  {
   
   {.User.Name}}; {
   
   {.User.Age}}; {
   
   {.User.Sex}}
  </div>

  <script src="/static/js/reload.min.js"></script>
</body>

3、with end使用

注意:为了解决循环嵌套的问题,可以使用with end的方式

  <div>
  {
   
   {.User.Name}}; {
   
   {.User.Age}}; {
   
   {.User.Sex}}
  </div>
    这段代码可以修改为如下,效果相同:
  <div>
  {
   
   {with .User}}
  {
   
   {.Name}}; {
   
   {.Age}}; {
   
   {.Sex}}
  {
   
   {end}}
  </div>

➜ beeblog bee run beeblog
访问:http://localhost:8080/
Beego模板用法-创建beeblog

4、range使用

default.go 添加:
    nums := []int{1,2,3,4,5,6,7,8,9,0}
    c.Data["Nums"] = nums

index.tpl中添加:
 <div>
  {
   
   {.Nums}}
  </div>

  <div>
  {
   
   {range .Nums}}
  {
   
   {.}}
  {
   
   {end}}
  </div>

访问:http://localhost:8080/
Beego模板用法-创建beeblog

5、自定义模板

default.go 添加:
    c.Data["TplVar"] = "hey guys"

index.tpl中添加:
  <div>
  {
   
   {$tplVar := .TplVar}}
  {
   
   {$tplVar}}
  </div>

访问:http://localhost:8080/
Beego模板用法-创建beeblog

6、beego内置模板函数使用,以字符串转html模板函数

beego中写的任意html的代码,它都会自动编码

default.go 添加:
        c.Data.["Html"]="<div>hello beego</div>" 

index.tpl中添加:
  <div>
  {
   
   {.Html}}
  </div>

访问:http://localhost:8080/ 返回:<div>hello beego</div>,怎么以html格式显示呢?
Beego模板用法-创建beeblog

    index.tpl中:
    <div>
  {
   
   {.Html}}
  </div>
    修改为如下即可:
      <div>
  {
   
   {str2html .Html}}
  </div>

再访问:http://localhost:8080/ 结果:
Beego模板用法-创建beeblog

转载于:https://blog.51cto.com/daixuan/2151824

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107392.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • seaborn使用boxplot函数可视化箱图并基于分组均值或者中位数进行箱图降序(descending)排序(Sort Boxplots in Descending Order)

    seaborn使用boxplot函数可视化箱图并基于分组均值或者中位数进行箱图降序(descending)排序(Sort Boxplots in Descending Order)seaborn 使用 boxplot 函数可视化箱图并基于分组均值或者中位数进行箱图降序 descending 排序 SortBoxplots

    2025年8月27日
    0
  • xgboost入门与实战(原理篇)

    xgboost入门与实战(原理篇)xgboost入门与实战(原理篇)前言:xgboost是大规模并行boostedtree的工具,它是目前最快最好的开源boostedtree工具包,比常见的工具包快10倍以上。在数据科学方面,有大量kaggle选手选用它进行数据挖掘比赛,其中包括两个以上kaggle比赛的夺冠方案。在工业界规模方面,xgboost的分布式版本有广泛的可移植性,支持在YARN,MPI,SungridEn

    2022年4月30日
    56
  • 数据库中的Schema是什么?「建议收藏」

    数据库中的Schema是什么?「建议收藏」参考:http://database.guide/what-is-a-database-schema/在数据库中,schema(发音“skee-muh”或者“skee-mah”,中文叫模式)是数据库的组织和结构,schemasandschemata都可以作为复数形式。模式中包含了schema对象,可以是表(table)、列(column)、数据类型(datatype)、视图(view)…

    2022年5月13日
    40
  • intellij idea2021激活码(注册激活)「建议收藏」

    (intellij idea2021激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月22日
    328
  • MT4安卓版下载安装

    MT4安卓版下载安装投资者安卓手机可以使用MT4软件吗?答案是:当然可以。MT4软件作为投资者通用的交易软件mt4.M1.xinclo.xyz涵盖了多个版本,电脑版MT4、手机版(包含IOS和安卓)MT4、MAC版MT4。如果是安卓手机,下载和安装安卓版的即可。安卓手机是无法在应用商店搜索到MT4的,因此大多都在网页上先获取安装包。下载交易软件,该软件商店中的移动终端。点击安装,软件会存储在手机桌面上,主界面上会显示MT4交易系统软件。…

    2022年8月15日
    7
  • 01_JavaScript学习笔记整理-ECMAScript

    01_JavaScript学习笔记整理-ECMAScript

    2021年7月10日
    67

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号