go

go


第十六单元(修改功能)

<h1>beego框架修改功能</h1> <h2>一、定义路由</h2> <pre><code class="language-go">beego.Router("/user/update", &amp;controllers.UserController{}, "get:UserUpdate") //修改页面 beego.Router("/user/edit", &amp;controllers.UserController{}, "post:UserEdit") //执行修改</code></pre> <h2>二、控制器定义</h2> <pre><code class="language-go">func (this *UserController) UserUpdate() {     id, err := this.GetInt("id")     if err != nil {         this.Ctx.WriteString("参数错误")     }     Orm := orm.NewOrm()     user := models.User{}     user.Id = id     err = Orm.Read(&amp;user)     if err != nil {         beego.Info("查询失败", err)     }     this.Data["Id"] = user.Id     this.Data["Name"] = user.Name     this.Data["Mobile"] = user.Mobile     this.Data["Avatar"] = user.Avatar     this.TplName = "user/update.html" } func (u *UserController) UserEdit() {     var path string = ""     name := u.GetString("name")     mobile := u.GetString("mobile")     id, err := u.GetInt("id")     File, FileHeader, err := u.GetFile("avatar")     if err != nil {         path = u.GetString("old")     } else {         //文件夹要存在         path = "static/img/" + FileHeader.Filename     }     err = u.SaveToFile("avatar", path)     if err != nil {         fmt.Println(err.Error())     }     defer File.Close()     orm := orm.NewOrm()     //结构体对象     user := models.User{}     //查询的更新对象     user.Id = id     err = orm.Read(&amp;user)     //给对象重新赋值     if err == nil {         user.Name = name         user.Mobile = mobile         user.Avatar = path         //更新数据库         _, err = orm.Update(&amp;user)         if err != nil {             beego.Info("更新失败", err)             return         }     }     url := "http://127.0.0.1:8080/user/list"     u.Ctx.Redirect(302, url) } </code></pre> <h2>三、HTML页面</h2> <pre><code class="language-html">&lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt;     &lt;meta charset="UTF-8"&gt;     &lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&gt;     &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;     &lt;title&gt;Document&lt;/title&gt; &lt;/head&gt; &lt;body&gt;     &lt;div class="main"&gt;         &lt;form action="/user/edit" method="post" enctype="multipart/form-data"&gt;             用户名 &lt;input type="text" name="name" value="{{.Name}}"&gt;             手机号 &lt;input type="text" name="mobile" value="{{.Mobile}}"&gt;             头像  &lt;input type="file" name="avatar"&gt;             &lt;img src="/{{.Avatar}}" width="100px"&gt;             &lt;input type="hidden" name="id" value="{{.Id}}"&gt;             &lt;input type="hidden" name="old" value="{{.Avatar}}"&gt;             &lt;button type="submit"&gt;提交&lt;/button&gt;         &lt;/form&gt;             &lt;/div&gt; &lt;/body&gt; &lt;/html&gt; </code></pre>

页面列表

ITEM_HTML