本文的原文连接是:
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 里面
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