Beego는 Go 언어를 기반으로 한 웹 개발 프레임워크로, 사용하기 쉽고 효율적이며 안정적이며 빠르게 개발되며 점점 더 많은 개발자들이 선호하고 사용하고 있습니다. 이번 글에서는 블로그 게시부터 온라인 쇼핑몰 구축까지 Beego 프레임워크를 활용하는 방법을 소개하겠습니다.
1. 블로그 출시
먼저 로컬 환경에 Beego 프레임워크를 설치하고 구성해야 합니다. 다음 명령어를 통해 설치할 수 있습니다.
go get -u github.com/astaxie/beego go get -u github.com/beego/bee
설치가 완료된 후 다음과 같이 bee new 명령어를 통해 새 프로젝트를 생성합니다.
bee new blog
생성된 프로젝트에서 config 폴더에 있는 app.conf 파일은 Beego의 것입니다. 기본 구성 파일에서 포트, 데이터베이스, 로그 등을 구성할 수 있습니다.
생성된 프로젝트에서 컨트롤러 폴더에 있는 파일은 Beego의 컨트롤러 코드이며, 여기서 필요한 비즈니스 로직을 작성할 수 있습니다. 예를 들어 블로그 모델과 컨트롤러를 생성해야 합니다.
// models/blog.go type Blog struct { Id int Title string Content string Created time.Time } // controllers/blog.go type BlogController struct { beego.Controller } func (this *BlogController) Get() { // 查询所有博客并渲染到页面 blogs := models.GetAllBlogs() this.Data["blogs"] = blogs this.TplName = "blog.tpl" } func (this *BlogController) Post() { // 新建一篇博客 title := this.GetString("title") content := this.GetString("content") blog := models.Blog{ Title: title, Content: content, Created: time.Now(), } models.AddBlog(&blog) this.Redirect("/blog", 302) }
위 코드에서는 블로그 모델을 생성하고 컨트롤러에 모든 블로그를 가져오고 새 블로그를 추가하는 로직을 구현합니다.
Beego는 Go 언어 템플릿 엔진을 사용하여 뷰 렌더링을 구현합니다. 일반적으로 뷰 파일은 views 폴더에 저장됩니다. 이 예에서는 blog.tpl 파일을 생성하고 페이지를 렌더링하여 블로그 목록과 새 블로그 추가 양식을 표시할 수 있습니다.
<!DOCTYPE html> <html> <head> <title>Blog</title> </head> <body> <h1>All Blogs</h1> {{range .blogs}} <h2>{{.Title}}</h2> <p>{{.Content}}</p> <p>{{.Created}}</p> {{end}} <h1>New Blog</h1> <form method="post" action="/blog"> <label>Title:</label> <input type="text" name="title"/><br/> <label>Content:</label> <textarea name="content"></textarea> <br/> <input type="submit" name="submit" value="Submit"/> </form> </body> </html>
그 중 {{range .blogs}} 문은 모든 블로그를 렌더링하는 데 사용됩니다. 루프에서 {{.Title }}, {{.Content}}, {{.Created}} 문은 특정 블로그 정보를 렌더링하는 데 사용됩니다.
프로그램을 실행하기 전에 데이터베이스를 생성하거나 구성해야 합니다. app.conf 파일에서 데이터베이스 연결 정보를 설정할 수 있습니다. 구성을 완료한 후 다음 명령을 사용하여 프로그램을 실행합니다.
bee run
블로그 목록을 보려면 브라우저에서 localhost:8080/blog를 방문하세요.
2. 온라인 몰
블로그 게시 기능 외에도 Beego 프레임워크를 사용하여 온라인 몰을 개발할 수도 있습니다. 다음은 간단한 예입니다.
마찬가지로 먼저 로컬 환경에 Beego 프레임워크를 설치하고 구성해야 합니다. 이 예에서는 다음 명령을 사용하여 설치하고 bee를 통해 새 프로젝트를 만듭니다. 새 명령 :
go get github.com/astaxie/beego go get github.com/beego/bee
생성된 프로젝트에서 config 폴더에 있는 app.conf 파일이 Beego의 기본 구성 파일입니다. 포트, 데이터베이스, 로그 등을 구성할 수 있습니다.
코드 작성bee new shop
위 코드에서는 Goods 모델을 생성하고 모든 제품을 획득하고 컨트롤러에 새 제품을 추가하는 로직을 구현했습니다. 홈페이지를 표시하는 로직은 MainController에서 구현됩니다.
데이터베이스 운영// models/goods.go type Goods struct { Id int Name string Price float64 Created time.Time } // controllers/default.go type MainController struct { beego.Controller } func (c *MainController) Get() { c.Data["Website"] = "myshop" c.Data["Email"] = "myshop@gmail.com" c.TplName = "index.tpl" } type GoodsController struct { beego.Controller } func (this *GoodsController) Add() { name := this.GetString("name") price, _ := this.GetFloat("price", 0.0) goods := models.Goods{ Name: name, Price: price, Created: time.Now(), } models.AddGoods(&goods) this.Redirect("/", 302) } func (this *GoodsController) GetAll() { goods := models.GetAllGoods() this.Data["json"] = &goods this.ServeJSON() }
새 제품을 추가하고 제품을 얻을 때 다음 코드를 통해 이를 달성할 수 있습니다.
package models import ( "github.com/astaxie/beego/orm" _ "github.com/go-sql-driver/mysql" ) func RegisterDB() { orm.RegisterDriver("mysql", orm.DRMySQL) orm.RegisterDataBase("default", "mysql", "root:@tcp(127.0.0.1:3306)/shop?charset=utf8", 30) }
func AddGoods(goods *Goods) (int64, error) { if err := orm.NewOrm().Read(&goods); err == nil { return 0, errors.New("Goods already exists") } id, err := orm.NewOrm().Insert(goods) return id, err } func GetAllGoods() []*Goods { var goods []*Goods orm.NewOrm().QueryTable("goods").All(&goods) return goods }
그 중 {{range .goods}} 문은 모든 제품을 루프로 렌더링하는 데 사용됩니다.
프로그램 실행<!DOCTYPE html> <html> <head> <title>{{.Website}}</title> </head> <body> <h1>Welcome to {{.Website}}!</h1> <h2>Add Goods:</h2> <form action="/goods/add" method="post"> <input type="text" name="name"> <input type="number" name="price" step="0.01"> <input type="submit" value="Add"> </form> <h2>All Goods:</h2> <table border="1"> <tr> <td>Id</td> <td>Name</td> <td>Price</td> <td>Created</td> </tr> {{range .goods}} <tr> <td>{{.Id}}</td> <td>{{.Name}}</td> <td>{{.Price}}</td> <td>{{.Created}}</td> </tr> {{end}} </table> </body> </html>
브라우저에서 localhost:8080에 접속하시면 온라인몰 홈페이지 조회, 상품 추가, 전체 상품 확인이 가능합니다. 다음 명령을 실행하여 자체 실행 파일을 생성할 수 있습니다.
bee run
위는 블로그 게시부터 온라인 쇼핑몰에 게시까지 Beego 프레임워크를 사용하는 전체 실제 과정입니다. 학습 중인 개발자에게 도움이 되기를 바랍니다. 비고.
위 내용은 비고 개발실습 - 블로그 퍼블리싱부터 온라인몰까지의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!