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

作者:Jeff的技术栈 时间:2024-05-21 10:25:22 

两个跳转语法

第一个参数是请求路径,第二个参数是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>

来源:https://www.cnblogs.com/guyouyin123/p/14082063.html

标签:go,beego,web,语法
0
投稿

猜你喜欢

  • pyqt和pyside开发图形化界面

    2022-05-06 18:10:08
  • 网页设计进阶之一 (步骤和大局观)

    2008-08-23 10:39:00
  • python 抓包保存为pcap文件并解析的实例

    2023-04-03 03:52:04
  • asp查询xml的代码实现无刷新 模糊查询

    2008-04-30 15:39:00
  • 使用python Django做网页

    2023-11-22 03:35:26
  • perl中的$a和$b介绍

    2022-06-15 00:30:07
  • pytorch获取vgg16-feature层输出的例子

    2021-04-16 20:56:47
  • 在vscode中配置python环境过程解析

    2021-10-08 20:28:15
  • 说说值类型数据“.”操作符的类型转换

    2009-12-13 10:39:00
  • php floor()函数案例详解

    2023-06-14 16:13:03
  • golang接口IP限流,IP黑名单,IP白名单的实例

    2024-04-25 15:18:14
  • PyQt中实现自定义工具提示ToolTip的方法详解

    2023-11-09 13:34:56
  • 提升MySQL查询效率及查询速度优化的四个方法详析

    2024-01-14 21:05:11
  • 一文教你如何快速学会Go的struct数据类型

    2024-02-14 22:58:44
  • python django 原生sql 获取数据的例子

    2023-02-16 18:35:02
  • Python设计模式中的状态模式你了解吗

    2023-07-14 08:20:28
  • Python接单的过程记录分享

    2022-05-24 13:33:23
  • python GUI计算器的实现

    2021-11-30 01:00:53
  • Oracle to_char函数的使用方法

    2024-01-19 01:47:37
  • django自定义非主键自增字段类型详解(auto increment field)

    2021-08-22 02:11:42
  • asp之家 网络编程 m.aspxhome.com