beego框架入门整理

2019-09-25  本文已影响0人  牧_青

Not everything that counts can be counted and not everything that`s counted truly counts.
并不是每一件算出来的事情,都有意义,也不是每一件有意义的事情都能够被算出来。
----Albert Einstein

1 简介

2 参数配置

beego默认会解析conf/app.conf文件

3 路由配置

beego.Router("/",&controller.MainController{})
beego.Router("/index",&controller.UserController{})
beego.Router("/admin",&controller.ArticleController{})
beego.Get("/outpur",func(ctx *context.Context){
    ctx.Output.Body([]byte("hello world"))
})
beego.Router("/output",&PutController,"get:Creater;post:Post")
beego.Router("/getlist",&GetController,"get,post:GetList")

需要说明的是,在浏览器中访问,如无特殊说明,一般默认都是Get请求,如果访问Post方法的函数可能出现不匹配的情况,可以使用curl -b "a=1" "url"的方式使用post访问网站

4 Controller

type xxxController struct{
    beego.Controller
}

5 models

6 View

6.1 表示数据

6.2 if 和 range

type User struct{
    id int 
    name string
}

func main(){ 
    var user []User{}
    // ...赋值
    len := 1
}

{{if .user.id==1}}
    {{.user.name}}
{{else }}
    {{.user.id}}
{{end}}

{{rang .user.id}}
    {{.user.name}} {{$.len}}
{{end}}

7 Cookie与session

7.1 Cookie的设置和获取

this.Ctx.SetCookie("name",name,maxage,"/")
this.Ctx.SetCookie("pwd",Md5([]byte(pwd)),maxage,"/")
this.Ctx.GetCookie("name")

7.2 session的设置和获取

SetSession("username", uname)
GetSession("username")

8 httplib

8.1 发送数据

url := "http://127.0.0.1:8080/hello"
rep := httplib.Get(url).Debug(true)

8.2 获取数据

beego框架可以自动解析Get , Post等方式的请求

GetString(key string)
GetStrings(key string)[]string
GetInt(key string)(int64 , error)
GetBool(key string)(bool , error)
GetFloat(key string)(float64 , error)
func (dc *DemoController) Post(){
    id := dc.Input().Get("id")
    intid , err := strconv.Atoi(id)
    if err != nil{
        //...
    }
}
func (dc *DemoController) Post(){
    u := UserInfo{}
    if err := c.ParseForm(&u) ; err != nil{
        // ...
    }
}
上一篇下一篇

猜你喜欢

热点阅读