golang 管理仪表板的建议

Lib*_*bby 5 dashboard admin go

我正在使用gobuffalo框架创建一个带有 postgres 数据库的网站,并且我正在尝试找到一个好的管理仪表板来配合它。像 Rail 的ActiveAdmin这样的东西会很棒。有没有人有什么建议?

Lib*_*bby 5

我最终使用qor/admin生成仪表板。它带有已经设置的视图。我需要的唯一代码是告诉qor我想要展示哪些模型。对于尝试在 gobuffalo.io 中实现此功能的其他人,以下是生成路由的方法

func App() *buffalo.App {
    if app == nil {
        app = buffalo.Automatic(buffalo.Options{
            Env:         ENV,
            SessionName: "_liam_session",
        })

        app.GET("/", HomeHandler)
        app.ANY("/admin/{path:.+}", buffalo.WrapHandler(http.StripPrefix("/admin", Other())))
        app.ServeFiles("/assets", packr.NewBox("../public/assets"))
    }
    return app
}

func Other() http.Handler {
    f := func(res http.ResponseWriter, req *http.Request) {
        fmt.Fprintln(res, req.URL.String())
        fmt.Fprintln(res, req.Method)
    }
    mux := mux.NewRouter()
    mux.HandleFunc("/foo", f).Methods("GET")
    mux.HandleFunc("/bar", f).Methods("DELETE")
    return mux
}
Run Code Online (Sandbox Code Playgroud)


Ken*_*ant 2

我为此使用了模板并且效果很好。您可以使用用于 CRUD 操作的基本管理视图非常快速地生成视图以及可能的处理程序和模型,这很好。显然,对于每个管理视图,您都希望在某种程度上对其进行自定义,但作为起点,它效果很好。

是我正在使用的工具(如果您使用过rails,它应该很熟悉),您还应该能够使用 go generated (用于代码)、像genny这样的工具,或者只是您自己的使用文本的解决方案来组合一些东西/template输出你需要的内容。我现在已经在几个项目中使用了这种方法,如果您发现自己创建了稍后需要自定义的仪表板,我建议您这样做。大多数应用程序对于每种资源(创建、更新、删除、索引)都有一定数量的样板。