linux如何新建一个beego项目,beego创建项目流程

第一步

func init() {

beego.Router("/", &controllers.MainController{})

//创建一个访问首页的路由

beego.Router("/register",&controllers.UserController{},"get:ShowRegister")

}

router路由,在路由下创建一个指定一个访问首页的控制器

第二步

//创建一个公共类以供路由调用

type UserController struct {

//继承beego的控制器函数

beego.Controller

}

//创建一个展示首页的方法

func (th*UserController)ShowRegister() {

//指定一个视图文件,来输出数据

th.TplName ="register.html"

}

控制器内新建首页文件夹 穿件输出首页方法

第三步

import (

"github.com/astaxie/beego/orm"

_"github.com/go-sql-driver/mysql"

)

//创建字段

type User struct {

Id int

UserName string

Pwd string

}

//建表但步骤

func init() {

//连接数据库 取别名(默认名称)

orm.RegisterDataBase("default","mysql","root:123456@tcp(127.0.0.1:3306)/newsWeb?charset=utf8")

//创建表名

orm.RegisterModel(new(User))

//炮起来(执行操作)

orm.RunSyncdb("default",false,true)

}

models 模块下创建数据库连接并创建表

第四步

import (

_ "newsWeb/routers"

"github.com/astaxie/beego"

)

func main() {

beego.Run()

}

第五步

视图文件设置请求post

}

func (th *UserController)HandleRegister() {

//获取前端传递过来的数据

//视图网页获取 登陆名和密码

userName := th.GetString("userName")

pwd := th.GetString("password")

beego.Info(userName,pwd)

//数据校验(验证用户名和密码防止恶意登陆)

if userName =="" || pwd == ""{

beego.Error("用户名或者密码不能为空")

th.TplName = "register.html"

return

}

//把前端的数据插入进数据库

//1.获取orm对象

o := orm.NewOrm()

//2.创建表名

var user models.User

user.UserName = userName

user.Pwd = pwd

//执行插入操作

count, err := o.Insert(&user)

if err != nil {

beego.Error("用户注册失败")

th.TplName = "register.html"

return

}

beego.Info("插入的数据条数=",count)

//th.Redirect() 页面跳转,会改变页面路径

//th.TplName = 页面渲染,传递数据(错误信息)

th.Redirect("/login",302)

}

controllers控制器下,获取数据和把数据插入数据操作

第六步

//创建登陆的路由跳转

beego .Router("/login",&controllers.UserController{},"get:ShowLogin;post:HandleLogin")

}

创建路由

func (th *UserController)HandleLogin() {

//获取数据

userName := th.GetString("userName")

pwd := th.GetString("password")

//校验数据

if userName == "" || pwd == ""{

th.Data["err"] = "用户名或者密码不能为空"

th.TplName = "login.html"

return

}

//数据库的查询操作

//1.获取orm对象

o := orm.NewOrm()

//2.获取数据表名

var user models.User

//3.把前端传来的数据付给数据库

user.UserName = userName

//核对数据

err := o.Read(&user, "userName")

if err != nil {

th.Data["err"] = "用户名不存在"

th.TplName = "login.html"

return

}

if user.Pwd != pwd{

th.Data["err"] = "密码错误"

th.TplName = "login.html"

return

}

//返回数据

th.Ctx.WriteString("登陆成功")

}

controllers 控制器数据处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值