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

 更新时间:2022年04月18日 08:45:49   作者:Jeff的技术栈  
这篇文章主要为大家介绍了go语言beego框架web开发语法笔记示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪

两个跳转语法

第一个参数是请求路径,第二个参数是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开发语法的资料请关注脚本之家其它相关文章!

相关文章

  • golang并发编程使用Select语句的实现

    golang并发编程使用Select语句的实现

    Go语言中的select语句是并发编程中的重要工具,允许Goroutine等待多个通道操作,它阻塞直至任一case可执行,可用于接收数据、实现超时机制和非阻塞通道操作,感兴趣的可以了解一下
    2024-10-10
  • Go 语言 JSON 标准库的使用

    Go 语言 JSON 标准库的使用

    今天通过本文给大家介绍Go 语言 JSON 标准库的使用小结,包括序列化和反序列化的相关知识,感兴趣的朋友跟随小编一起看看吧
    2021-10-10
  • Go WaitGroup及Cond底层实现原理

    Go WaitGroup及Cond底层实现原理

    这篇文章主要为大家介绍了Go WaitGroup及Cond底层实现原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • golang读取http的body时遇到的坑及解决

    golang读取http的body时遇到的坑及解决

    这篇文章主要介绍了golang读取http的body时遇到的坑及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • golang 限制同一时间的并发量操作

    golang 限制同一时间的并发量操作

    这篇文章主要介绍了golang 限制同一时间的并发量操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Gin+Gorm实现CRUD的实战

    Gin+Gorm实现CRUD的实战

    本文主要介绍了Gin+Gorm实现CRUD的实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Go中的应用配置管理详解

    Go中的应用配置管理详解

    这篇文章主要为大家介绍了Go中的应用配置管理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Go语言多值替换的HTML模板实例分析

    Go语言多值替换的HTML模板实例分析

    这篇文章主要介绍了Go语言多值替换的HTML模板,实例分析了Go语言多值替换与数组迭代的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • 使用go自定义prometheus的exporter

    使用go自定义prometheus的exporter

    在prometheus中如果要监控服务器和应用的各种指标,需要用各种各样的exporter服务,这篇文章主要介绍了使用go自定义prometheus的exporter,需要的朋友可以参考下
    2023-03-03
  • 使用go module导入本地包的方法教程详解

    使用go module导入本地包的方法教程详解

    go module 将是Go语言默认的依赖管理工具。到今天 Go1.14 版本推出之后 Go modules 功能已经被正式推荐在生产环境下使用了。本文重点给大家介绍如何使用 go module 导入本地包,感兴趣的朋友一起看看吧
    2020-03-03

最新评论