【问题标题】:Suggestions for admin dashboard in golang [closed]golang中管理仪表板的建议[关闭]
【发布时间】:2018-01-29 16:58:21
【问题描述】:

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

【问题讨论】:

  • 如果你需要一个管理仪表板,写一个。
  • 我认为目标是 Rails 的 ActiveAdmin 是一个管理仪表板脚手架工具,可将开发人员的几个工作日减少到 0 个开发人员工作日。 OP 想知道 golang 中是否存在这样的管理仪表板脚手架工具。

标签: go admin dashboard


【解决方案1】:

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

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
}

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-04-11
      • 1970-01-01
      • 2021-11-26
      • 2019-09-01
      • 2016-07-02
      • 2011-06-14
      • 2010-12-09
      • 1970-01-01
      • 2011-10-16
      相关资源
      最近更新 更多