golang(7):研究一个golang 写的cms系统qor,功能特别全。

前端之家收集整理的这篇文章主要介绍了golang(7):研究一个golang 写的cms系统qor,功能特别全。前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/80575900

博主地址是:http://blog.csdn.net/freewebsys

1,关于qor


qor是一个golang写的CMS系统lib库。
功能很强大,但是要操作起来还是要折腾下的。
项目地址:
https://getqor.com/cn
简书上面有几个文章介绍了下:
https://www.jianshu.com/p/31c96b929e4d
https://www.jianshu.com/p/31c96b929e4d
剩下的资料少了点。

2,安装qor


其实主要是 依赖比较多。其实admin qor 是lib库形式的。
主要的还是要看 qor-example 这个才是项目的例子。
还有线上的demo演示,就是这个代码
https://demo.getqor.com/auth/login
依赖还是挺多的。

go get -v github.com/qor/qor
go get -v github.com/qor/admin
go get -v github.com/qor/qor-example

-v 是可以下载相关依赖的。

经跟漫长的等待就下载好了。。。
然后进入qor-example 里面

启动之前需要配置下MysqL数据库配置文件在:

config/database.example.yaml

db:
  adapter: MysqL
  name: qor_example
  user: root
  password: mariadb

然后再启动:

go run main.go

启动之后如果发现界面卡住了。ctrl+c 下,好像不知道哪里配置没有对。

qor 是按照模块进行开发,相关的模块一大堆呢。
很完整的项目。

3,界面


启动之后访问 http://localhost:7000/admin




4,第一个demo


qor 真的是个很强大的lib库。参考文档:
https://doc.getqor.com/get_started.html
下载pdf文件
https://legacy.gitbook.com/book/theplant/qor-doc/details
是一个很不错的框架呢。
main.go :

package main

import (
  "fmt"
  "net/http"
// "github.com/qor/qor"
  "github.com/qor/admin"
  "github.com/jinzhu/gorm"
  //_ "github.com/jinzhu/gorm/dialects/sqlite"
  _ "github.com/jinzhu/gorm/dialects/MysqL"

)

// Define a GORM-backend model
type User struct {
  gorm.Model
  Name string
}

// Define another GORM-backend model
type Product struct {
  gorm.Model
  Name        string
  Description string
}

func main() {
  // Set up the database
  MysqL_url := fmt.Sprintf("%v:%v@tcp(%v:%v)/%v?parseTime=True&loc=Local","root","mariadb","127.0.0.1","3306","qor_demo")
  DB,_ := gorm.Open("MysqL",MysqL_url)
  // DB,_ := gorm.Open("sqlite3","demo.db") //for sqlite3
  DB.AutoMigrate(&User{},&Product{})

  // Initalize
  Admin := admin.New(&admin.AdminConfig{DB: DB})

  // Create resources from GORM-backend model
  Admin.AddResource(&User{})
  Admin.AddResource(&Product{})

  // Initalize an HTTP request multiplexer
  mux := http.NewServeMux()

  // Mount admin to the mux
  Admin.MountTo("/admin",mux)

  fmt.Println("Listening on: 9000")
  http.ListenAndServe(":9000",mux)
}

非常的简单方便,定义了两个实体类型,就有了两个实体类型的CURD。
还可以根据自己的需要增加权限,增加api接口。增加session,存储,国际化等等。
并不是像别的CMS直接把功能写好,这个是给你一个lib库,然后根据这个lib库,
开发定制自己想要的CMS,这个架构设计思路还是挺好的。

4,总结


qor思路还是不错的,通过插件的方式更方便的开发CMS系统。感觉上能做的不仅仅是一个CMS啦,啥系统都可以做呢。商城,网站,博客,手机端 rest api 管理。
啥CRM,ERP 更复杂的系统也可以尝试呢。

第一步,已经研究明白了,qor是一个基础lib库,能帮你实现CRUD。
具体CMS是啥样子,可以自己定制开发。超级方便。
直接写自己的代码就行了。官方文档和 example 都可以参考好好研究下。

本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/80575900

博主地址是:http://blog.csdn.net/freewebsys

猜你在找的Go相关文章