go语言beego框架web开发语法笔记示例

目录
  • 两个跳转语法
  • 模型创建
  • 获取post请求传过来的值
    • 获取字符串
    • 获取文件
  • 获取文件后缀
  • orm查询表所有数据
  • 前端循环语法
  • 前端格式化时间
    • 前端url传值方式

两个跳转语法

第一个参数是请求路径,第二个参数是http状态码。

c.Redirect("/login",400)  //重定向
c.TplName = "login.html"

模型创建

设置主键 `pk`
设置自增 `auto`

注意:当Field类型为int,int32,int64,uint,uint32,uint64时,可以设置字段为自增健,当模型定义中没有主键时,符合上述类型且名称为Id的Field将视为自增健。

设置默认值  `default(1111)`
设置长长度  `orm:size(100)`
设置允许为空  `null`,数据库默认是非空,设置null后可变成`ALLOW NULL`
设置唯一  `orm:"unique"`
设置浮点数精度  `orm:"digits(12);decimals(4)"` //总共12位,四位是小数
设置时间  `orm:"auto_now_add;type(datetime)"`
                 `orm:"auto_now;type(date)"`

注意:

auto_now 每次model保存时都会对时间自动更新

auto_now_add 第一次保存时才设置时间

设置时间的格式:type

# 案例
type User struct {
	beego.Controller
	Id int `orm:"pk;auto"`  //主键且自增
	Name string `orm:"size(20)"`  //长度20
	CreateTime time.Time
	Count int	`orm:"defaule(0);null"` //默认为0,可以为空
}

获取post请求传过来的值

获取字符串

c.GetString("userName")  //获取字符串
func (c*MainController) AddAritcle() {
	c.Data["name"] = c.GetString("userName")
	c.Data["pwd"] = c.GetString("passwd")
	beego.Info("用户名:",c.Data["name"])
	beego.Info("密码",c.Data["pwd"])
	c.TplName = "success.html"
}

获取文件

f,h,err :=c.GetFile("file_name")
//获取文件
//f:文件句柄
//h:文件信息
//err:错误信息
defer f.Close()
	if err != nil{
		beego.Info("上传文件失败")
	}else {
		c.SaveToFile("file_name","./staic/img/"+h.Filename)
	}

Html

就是别忘记在你的 form 表单中增加这个属性 enctype="multipart/form-data",否则你的浏览器不会传输你的上传文件。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登陆</title>
</head>
<body>
<div>
    <div style="position:absolute;left:50%; top:50%;">
        <form action="/addAritcle" method="post" enctype="multipart/form-data">
            用户名:<input type="text" name="userName">
            <p></p> 密码:<input type="password" name="passwd">
            <input type="file" name="uploadfilename">
            <p></p> <input type="submit" value="注册">
        </form>
    </div>
</div>
</body>
</html>

获取文件后缀

fileext := path.Ext(h.Filename)

orm查询表所有数据

var table_lis []models.User
_,err := o.QueryTable("User").All(&table_lis)
if err !=nil{
  beego.Info("查询文章出错")
  return
}
beego.Info(table_lis)

前端循环语法

c.Data["table_lis"] = table_lis  //业务逻辑传过来的值
{{range .table_lis}}  //循环访问
<tr>
  <td>{{.Name}}</td>
  <td>{{.PassWord}}</td>
</tr>
{{end}}

前端格式化时间

<td>{{.time.Format "2006-01-02"}}</td>   //格式化时间

前端url传值方式

<td><a href="/addAritcle?id={{.Id}}" rel="external nofollow" ></a></td>

以上就是go语言beego框架web开发语法笔记示例的详细内容,更多关于go语言beego框架web开发语法的资料请关注我们其它相关文章!

(0)

相关推荐

  • beego获取ajax数据的实例

    1. 什么是AJAX Asynchronous JavaScript And XML(异步 JavaScript 及 XML),是指一种创建交互式网页应用的网页开发技术 Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. 2. 如何使用 AJAX XMLHttpRequest 是 AJAX 的基础. XMLHttpRequest 用于在后台与服务器交换数据.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 使用AJAX大致分四步 1. 创建XMLHttpR

  • golang beego框架路由ORM增删改查完整案例

    目录 程序运行前加载 路由设置 高级路由设置 beego-ORM初始化 安装ORM+导包 定义结构体 beego支持的数据库 连接数据库 注册数据库表 生成表 完整案例 ORM增删改查 插入 查询 更新 删除 案例 注册 案例2 程序运行前加载 1.导包前面加下划线,运行前加载 2.把要加载的写在init函数里面 路由设置 路由的作用:根据不同的请求指定不同的控制器 路由函数: beego.Router("/path",&controller.MainController{})

  • go语言beego框架分页器操作及接口频率限制示例

    目录 获取所有文章数据 获取总条数 设置每页的条数 总页数和当前页码 获取分页数据 返回数据 beego接口频率限制 获取所有文章数据 o := orm.NewOrm() qs := o.QueryTable("Article") 12 获取总条数 count, _ := qs.Count() 1 设置每页的条数 pageSetNum := 2 1 总页数和当前页码 // 总页数 pageCount := math.Ceil((float64(count) / float64(page

  • Beego中ORM操作各类数据库连接方式详细示例

    目录 beego中各类数据库连接方式 1.1 orm使用方式 a. 注册数据库驱动程序 b.注册数据库 c. 注册模型 1.2 操作示例 a. orm连接mysql b. orm连接sqlite3 c. orm连接 postgresql 1.3非orm连接方式 a. mysql b. sqlite3 c. postgresql d. mongodb e.sqlserver f.redis beego中各类数据库连接方式 beego 框架是优秀得go REST API开发框架.下面针对beego中

  • go语言beego框架jwt身份认证实现示例

    目录 一 引入jwt 二 框架中引入jwt 三 使用 一 引入jwt jwt用户身份验证 go get github.com/dgrijalva/jwt-go 二 框架中引入jwt import ( "fmt" "github.com/astaxie/beego" "github.com/dgrijalva/jwt-go" "time" ) 三 使用 声明jwt需要用到的结构体 const ( KEY string = &qu

  • golang beego框架环境搭建过程

    目录 环境搭建 1.开启gomod设置代理 2.安装beego和bee 3.升级bee 4.zsh: command not found: bee 5.bee相关命令 6.项目启动 7.beego项目结构分析 环境搭建 下载安装beego,bee 1.开启gomod设置代理 go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn 2.安装beego和bee go get -u -v github.com/astaxie/beeg

  • Go语言框架Beego项目搭建的方法步骤

    1,命令行查看 Go 开发包的环境变量配置信息 命令行说明如下: 第 1 行,执行 go env 指令,将输出当前 Go 开发包的环境变量状态. 第 2 行,GOARCH 表示目标处理器架构. 第 3 行,GOBIN 表示编译器和链接器的安装位置. 第 7 行,GOOS 表示目标操作系统. 第 8 行,GOPATH 表示当前工作目录. 第 10 行,GOROOT 表示 Go 开发包的安装目录. 从命令行输出中,可以看到 GOPATH 设定的路径为:C:\Users\Administrator\g

  • go语言beego框架web开发语法笔记示例

    目录 两个跳转语法 模型创建 获取post请求传过来的值 获取字符串 获取文件 获取文件后缀 orm查询表所有数据 前端循环语法 前端格式化时间 前端url传值方式 两个跳转语法 第一个参数是请求路径,第二个参数是http状态码. c.Redirect("/login",400) //重定向 c.TplName = "login.html" 模型创建 设置主键 `pk`设置自增 `auto` 注意:当Field类型为int,int32,int64,uint,uint

  • 基于gin的golang web开发:路由示例详解

    Gin是一个用Golang编写的HTTP网络框架.它的特点是类似于Martini的API,性能更好.在golang web开发领域是一个非常热门的web框架. 启动一个Gin web服务器 使用下面的命令安装Gin go get -u github.com/gin-gonic/gin 在代码里添加依赖 import "github.com/gin-gonic/gin" 快速启动一个Gin服务器的代码如下 package main import "github.com/gin-

  • Flask框架web开发之零基础入门

    Flask框架是Python开发的一个基于Werkzeug和Jinja 2的web开发微框架,它的优势就是极其简洁, 但又非常灵活,而且容易学习和应用.因此Flask框架是Python新手快速开始web开发最好的选择,此外, 使用Flask框架的另一个好处在于你可以非常轻松地将基于Python的机器学习算法或数据分析算法集成到 web应用中. 1.可以用Flask框架做什么 从博客应用到克隆一个facebook或者twitter,理论上你可以用Flask做任何事情.有很多库 可以直接使用,例如f

  • PHP和Java的主要区别有哪些?哪个最适合Web开发语言?

    一.前言 PHP和Java都是现在比较流行的二种编程语言. 对于许多新手来说,都会思考如果学的时候,该学哪种语言呢?下面这篇文章给大家整理两者的区别以及一些选择建议,一起来看看吧. 二.简介 PHP与Java作为两种截然不同的程序开发语言,无论是技术层面还是发展空间,亦或是市场份额占比,都有着不同的表现方式,理念上的不同导致了Java和PHP在Web应用开发上显示了不同的结果.若要一定追根到底,深究PHP与Java究竟哪个更好? 简而言之:PHP是一种解释执行的脚本语言,语法和C语言类似,易学易

  • 创业如何选择WEB开发语言

    在打算开发一个网站时,选择什么语言,是首先需要面对的问题.目前主流的WEB开发语言有ASP.NET.PHP.JSP; 作为MS上世纪老将ASP,就不再提及,如果是因为维护方面的原因而必须使用,可考虑升级到ASP.NET,而作为新开发一个语言,实在找不到理由再使用它了; 以下将对这三种语言做对比,以供权衡: 上手度 .NET: 5分 PHP:3分 JSP:1分 如果你是一个WEB方面的新手,这三门WEB语言的学习成本差别很大.ASP.net 作为微软的产品,继承了其一贯的特点,方便上手,易用;甚至

  • 10款最好的Web开发的 Python 框架

    Python 是一门动态.面向对象语言.其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性.除了语言本身的设计目的之外,Python标准 库也是值得大家称赞的,Python甚至还自带服务器.其它方面,Python拥有足够多的免费数据函数库.免费的Web网页模板系统.还有与Web服务 器进行交互的库.这些都可以设计到你的Web应用程序里面.在这篇文章里,我们将为Python Web开发者介绍基于Python的10大Web应用框架. CubicWeb CubicWeb的最重要的

  • Python用Bottle轻量级框架进行Web开发

    当前Python Web开发中的框架算Django最为流行了,但是本文介绍的是一个较为轻量级的Web框架:Bottle框架.理论性的东西就不讲了,直接上实例代码. 1.问题描述        最近做一个系统的后台开发,用的就是Python+Bottle进行的web后台开发.给前台提供一个接口,通过前台调用接口时的参数,提供Json数据格式的数据. 2.环境准备 我用的是Linux环境,python 2.7.x版本的python.使用Bottle之前需要pip安装bottle,输入命令:sudo

  • Python django框架开发发布会签到系统(web开发)

    引言 最近学习了虫师的发布会签到系统demo,结合自己所学django知识,对demo重新塑造了一下.也是为了练练手,巩固知识.现在就分享一下成果~ Django工作流 学习django web开发,先来简单了解一下django的工作机制,请看下图: 简单说明: 用户通过浏览器访问:http://127.0.0.1:8000/index,首先运行的是urlpatterns程序,通过url路由找到对应的视图函数views.py,视图函数处理所有逻辑和数据,并且将用户要的数据经过函数处理后通过ind

随机推荐