基础命令
创建项目:bee new 项目名
运行项目:
方法1:终端进入项目目录执行 Bee ruan
方法2:终端进入项目目录执行 go build 项目名,会生成一个可执行文件然后 go run 可执行文件
设置模板路径:
beego默认的路径是view,可以自己设置
方法1:在入口函数中添加beego.SetViewsPath("testview")
方法2:配置文件中设置:viewspath = "testview"
在default.go中自定义一个控制器
//自定义控制器
type UserController struct {
beego.Controller
}
//结构体名字和属性名大写代表public,可供外部使用
type Users struct {
Uid int
Username string
Age int
}
func (u *UserController) Get() {
//u.Ctx.WriteString("this is user controller") //在前台打印一段文字
//初始化结构体方法1
//var user1 Users=Users{Uid:1,Username:"用户1",Age:18}
//初始化结构体方法2
var user2 Users
user2.Uid=2
user2.Username="用户2"
user2.Age=19
//初始化结构体方法3
user3:=Users{Uid:3,Username:"用户3",Age:20}
//普通传参到模板
u.Data["name"]="测试111"
//传递结构体参数到模板
u.Data["mystruct"]=user3
//传递数组参数到模板
arr1:=[5]string{"aaa","bbb","ccc","ddd"}
u.Data["arr"]=arr1
u.TplName="user.html"
}
在路由文件中绑定下:beego.Router("/user", &controllers.UserController{})
模板代码
<body>
普通参数:{{.name}}
<hr>
结构体参数:
{{.mystruct.Uid}} <br>
{{.mystruct.Username}} <br>
{{.mystruct.Age}} <br>
<hr>
数组参数1:(key和val变量必须用$)
{{range $k,$v := .arr}}
{{$k}} ==== {{$v}}<br>
{{end}}
<hr>
数组参数2:(key和val变量必须用$)
{{range .arr}}
{{.}}<br>
{{end}}
</body>
结构体数组:
type Book struct{
Name string
Author string
}
func main(){
arr:=[2]Book{{Name:"红楼梦",Author:"曹雪芹"},{Name:"西游记",Author:"吴承恩"}}
fmt.Print(arr)
var arr1 [5]Book=[5]Book{{Name:"红楼梦",Author:"曹雪芹"},{Name:"西游记",Author:"吴承恩"}}
fmt.Print(arr1)
}
模型定义
默认的表名规则,使用驼峰转蛇形:
AuthUser -> auth_user
Auth_User -> auth__user
DB_AuthUser -> d_b__auth_user
除了开头的大写字母以外,遇到大写会增加 _
,原名称中的下划线保留。
自定义表名(如果你的结构体跟你真实mysql表不适合默认的表名规则,可以用这个手动注册模型)
type User struct {
Id int
Name string
}
func (u *User) TableName() string {
return "你的真实表明"
}