全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货  >  详情

Golang开发实战基于beego框架搭建后台管理系统!

来源:千锋教育
发布人:xqq
2023-12-26

推荐

在线提问>>

Golang开发实战:基于beego框架搭建后台管理系统!

随着互联网技术的快速发展,后台管理系统已经成为企业必备的重要系统,帮助各位管理人员更好地控制企业数据、统计数据、分析数据等。在这篇文章中,我们将会讲解如何使用Golang语言和beego框架开发一款简单的后台管理系统,实现基本的增删改查操作。

1、前期准备

在开始之前,需要确保你已经安装好了Golang语言和beego框架,如果你还没有安装的话,请先前往官网了解如何安装(Golang官网 https://golang.google.cn/ 、beego官网 https://beego.me/ )。

2、创建项目

首先,我们需要创建一个beego项目,创建命令如下:

bee new project_name

创建完成后,可以将项目打开,目录结构如下:

project_name├── conf│   └── app.conf├── controllers├── main.go├── models├── routers│   └── router.go└── static    ├── css    ├── img    └── js

3、创建数据表

在这里,我们以用户管理为例,创建一个名为"users"的数据表,字段如下:

sql

CREATE TABLE users (

id int(11) NOT NULL AUTO_INCREMENT,

name varchar(255) NOT NULL,

age int(11) NOT NULL,

address varchar(255) NOT NULL,

PRIMARY KEY (id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

4、配置数据库信息在我们开始使用数据库之前,需要先在项目中配置好数据库信息,打开conf/app.conf文件,在其中添加如下配置:

appname = project_name

httpport = 8080

runmode = dev

beegoappname = project_name

dbhost = 127.0.0.1

dbport = 3306

dbuser = root

dbpass = root

dbname = project_name

5、创建模型文件在models目录中创建一个user.go文件,编写如下代码:`gopackage modelsimport ("github.com/astaxie/beego/orm")type User struct {Id      intName    stringAge     intAddress string}func init() {orm.RegisterModel(new(User))}func GetAllUsers() (*User, error) {o := orm.NewOrm()var users *User_, err := o.QueryTable("users").All(&users)return users, err}func AddUser(name string, age int, address string) error {o := orm.NewOrm()user := &User{Name:    name,Age:     age,Address: address,}_, err := o.Insert(user)return err}func UpdateUser(id int, name string, age int, address string) error {o := orm.NewOrm()user := &User{Id:      id,Name:    name,Age:     age,Address: address,}_, err := o.Update(user)return err}func DeleteUser(id int) error {o := orm.NewOrm()user := &User{Id: id,}_, err := o.Delete(user)return err}func GetUserById(id int) (*User, error) {o := orm.NewOrm()user := &User{Id: id,}err := o.Read(user)if err != nil {return nil, err}return user, nil}

在这里,我们定义了一个User模型,实现了增、删、改、查等操作,这些操作会存储在数据库中。

6、创建控制器文件

在controllers目录中创建一个user.go文件,编写如下代码:

`go

package controllers

import (

"github.com/astaxie/beego"

"project_name/models"

"strconv"

)

type UserController struct {

beego.Controller

}

func (c *UserController) Get() {

users, err := models.GetAllUsers()

if err != nil {

c.Ctx.WriteString("error")

} else {

c.Data = users

c.TplName = "index.tpl"

}

}

func (c *UserController) Post() {

name := c.GetString("name")

age, _ := strconv.Atoi(c.GetString("age"))

address := c.GetString("address")

err := models.AddUser(name, age, address)

if err != nil {

c.Ctx.WriteString("error")

} else {

c.Redirect("/user", 302)

}

}

func (c *UserController) Put() {

id, _ := strconv.Atoi(c.Ctx.Input.Param(":id"))

name := c.GetString("name")

age, _ := strconv.Atoi(c.GetString("age"))

address := c.GetString("address")

err := models.UpdateUser(id, name, age, address)

if err != nil {

c.Ctx.WriteString("error")

} else {

c.Redirect("/user", 302)

}

}

func (c *UserController) Delete() {

id, _ := strconv.Atoi(c.Ctx.Input.Param(":id"))

err := models.DeleteUser(id)

if err != nil {

c.Ctx.WriteString("error")

} else {

c.Redirect("/user", 302)

}

}

func (c *UserController) GetOne() {

id, _ := strconv.Atoi(c.Ctx.Input.Param(":id"))

user, err := models.GetUserById(id)

if err != nil {

c.Ctx.WriteString("error")

} else {

c.Data = user

c.TplName = "edit.tpl"

}

}

在这里,我们定义了一个UserController控制器,实现了获取用户列表、添加用户、修改用户、删除用户和获取单个用户信息等操作。7、创建视图文件在views目录中创建两个tpl文件,分别为index.tpl和edit.tpl,编写如下代码:index.tpl`htmlUser List

User List

Add User{{range .users}}{{end}}
IDNameAgeAddressAction
{{.Id}}{{.Name}}{{.Age}}{{.Address}}Edit

edit.tpl

`html

Edit User

Edit User







在这里,我们定义了两个视图文件,分别为用户列表和用户编辑页面。8、配置路由打开routers/router.go文件,编写如下代码:`gopackage routersimport ("github.com/astaxie/beego""project_name/controllers")func init() {beego.Router("/", &controllers.UserController{})beego.Router("/user", &controllers.UserController{})beego.Router("/user/add", &controllers.UserController{}, "get:Add")beego.Router("/user/:id(+)/edit", &controllers.UserController{}, "get:GetOne")beego.Router("/user/:id(+)", &controllers.UserController{})}

在这里,我们配置了5个路由规则,分别为用户列表、添加用户、编辑用户、删除用户和获取单个用户信息。

9、测试

运行如下命令启动服务:

bee run

在浏览器中访问 http://localhost:8080/user ,即可看到用户列表页面,可以执行添加、修改和删除操作,所有操作都将在数据表中进行存储。

至此,一款简单的后台管理系统已经开发完毕。

总结:

本文详细介绍了如何使用Golang语言和beego框架开发一款简单的后台管理系统,从项目创建到模型文件、控制器文件、视图文件和路由配置都进行了详细讲解。在实践中,你可以根据需求进行修改和扩展,开发一款适合自己企业的后台管理系统。

相关文章

巧妙利用AI算法,如何实现智能化的异常流量检测与防御?

网络安全法规:如何遵守相关的法律法规并保护您的网络安全

人工智能时代的网络安全:机器学习在恶意代码检测中的应用

挖掘您的网站的漏洞:了解如何利用SQL注入和XSS漏洞

Golang网络编程如何写出高稳定性和高性能的网络应用?

开班信息 更多>>

课程名称
全部学科
咨询

HTML5大前端

Java分布式开发

Python数据分析

Linux运维+云计算

全栈软件测试

大数据+数据智能

智能物联网+嵌入式

网络安全

全链路UI/UE设计

Unity游戏开发

新媒体短视频直播电商

影视剪辑包装

游戏原画

    在线咨询 免费试学 教程领取