两个跳转语法
第一个参数是请求路径,第二个参数是http状态码。
1
2
|
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
1
2
3
4
5
6
7
8
|
# 案例 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请求传过来的值
获取字符串
1
2
3
4
5
6
7
8
|
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" } |
获取文件
1
2
3
4
5
6
7
8
9
10
11
|
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",否则你的浏览器不会传输你的上传文件。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<!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 > |
获取文件后缀
1
|
fileext := path.Ext(h.Filename) |
orm查询表所有数据
1
2
3
4
5
6
7
|
var table_lis []models.User _,err := o.QueryTable( "User" ).All(&table_lis) if err != nil { beego.Info( "查询文章出错" ) return } beego.Info(table_lis) |
前端循环语法
1
2
3
4
5
6
7
|
c.Data[ "table_lis" ] = table_lis //业务逻辑传过来的值 {{ range .table_lis}} //循环访问 <tr> <td>{{.Name}}</td> <td>{{.PassWord}}</td> </tr> {{end}} |
前端格式化时间
1
|
<td>{{.time.Format "2006-01-02" }}</td> //格式化时间 |
前端url传值方式
1
|
<td><a href= "/addAritcle?id={{.Id}}" rel= "external nofollow" ></a></td> |
以上就是go语言beego框架web开发语法笔记示例的详细内容,更多关于go语言beego框架web开发语法的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/guyouyin123/p/14082063.html