GOCMS 后台模块数据编辑功能开发与数据添加功能类似,只是多了一步默认数据读取功能,然后数据提交接口有所不同。
我们可以从控制器开始,文件位置 : \controllers\admin\模块名称.go,基础代码已经生成。
结构代码 :
将控制器函数注册到路由( 自动创建时此段代码已经添加 ),文件 \router\admin.go :
我们注册了 GET 和 POST 2种模式的路由,都对应同一个控制器,控制器内部通过 action 路由参数来区分增删改查等不同操作,通过 GET 和 POST 请求方式区分展示界面还是提交数据。
添加数据界面模板位置 : templates\admin\students\edit.html,基础代码已经生成 :
上面的页面最终通过 btp.postForm() 以 POST 形式将数据添加到 后端/Students/路由,action 为 edit,请求方式为 POST,会进入控制器对应的 edit 逻辑。
\controllers\admin\students.go 代码 :
通过模型的 Update() 函数完成数据验证和编辑功能。
如果数据提交完全符合提交要求,不需要任何改动就可以直接使用 模型的 Update 完成数据更新。
可以利用 before 前置方法 和 after 后置方法进行更多逻辑的实现。
如果数据数据或提交逻辑需要改动,应该自己编写提交逻辑代码,关于自定义提交逻辑请查看下一节。