2017-08-21 63 views
0

我使用gobuffalo框架创建了一个包含postgres数据库的网站,并且我试图找到一个很好的管理员仪表板来伴随它。像铁路的ActiveAdmin会很棒。有没有人有什么建议?对golang中管理员仪表板的建议

+0

如果你需要一个管理仪表板,写一个。 – Adrian

+0

我认为目标是Rails的ActiveAdmin是一个管理仪表板脚手架工具,可以将几个开发人员的工作日缩短到0个开发人员的工作日。 OP在想,如果这样的管理仪表板脚手架工具存在于golang中。 – Scott

回答

1

我使用这个模板,它运作良好。您可以非常快速地生成视图以及潜在的处理程序和模型,并为CRUD操作提供基本的管理视图,这很好。显然,对于每个管理员视图,您都希望在某种程度上对其进行定制,但作为一个起点,它工作得很好。

This是我使用(如果你使用的轨道应该是熟悉),你也应该能敲的东西一起去生成(代码)的工具,像genny的工具,或者只是你使用text/template自己的解决方案输出你需要的东西。我现在已经在几个项目中使用了这种方法,如果您发现自己创建的仪表板需要稍后进行定制,我建议您这样做。大多数应用程序对每个资源都有一定的样板(创建,更新,删除,索引)。

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 
}