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()
}
第五步
<form class="login_form" name = "login" method="post" action="/register">
檢視檔案設定請求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 控制器資料處理
相關文章
- 建立Vue專案流程Vue
- SpringBoot專案建立流程--SpringMVCSpring BootSpringMVC
- docker建立beego映象DockerGo
- 如何建立專案管理工作流程?專案管理
- Django框架簡介和建立django專案的基本流程Django框架
- Gundam-cli:前端專案建立釋出流程解決方案前端
- Go實戰專案-Beego的orm的基本使用GoORM
- vue專案流程Vue
- mvn 建立java專案 web專案JavaWeb
- python建立專案Python
- 建立vue專案Vue
- npm建立專案NPM
- react建立專案React
- Linux部署專案流程Linux
- Django專案搭建流程Django
- Idea 建立 父專案和子專案Idea
- 第一步:初始化一個 beego 專案Go
- idea建立springboot專案IdeaSpring Boot
- PHP建立laravel專案PHPLaravel
- idea建立web專案IdeaWeb
- Vue建立專案配置Vue
- Spring Boot專案建立Spring Boot
- 快速建立 Laravel 專案Laravel
- idea建立javaweb專案IdeaJavaWeb
- idea 建立springboot專案IdeaSpring Boot
- 使用 composer 建立專案
- IDEA建立Flink專案Idea
- beego 如何使用bee工具建立指定資料表名稱的model檔案?Go
- Vue之專案大致流程Vue
- Tomcat部署web專案流程TomcatWeb
- 拉鉤專案(一)--專案流程+資料提取
- 02 . Beego框架結構組織,路由及專案初始化Go框架路由
- PyCharm 建立純Python專案PyCharmPython
- 使用 Docker 建立 Hyperf 專案Docker
- 使用 Docker 建立 Lumen 專案Docker
- SpringBoot入門 - 建立專案Spring Boot
- 使用IDEA建立gradle專案IdeaGradle
- 使用IDEA建立springboot專案IdeaSpring Boot