Gin Gonic 和 Qor Admin 的问题:heroku 上的错误 500

Posted

技术标签:

【中文标题】Gin Gonic 和 Qor Admin 的问题:heroku 上的错误 500【英文标题】:Problem with Gin Gonic and Qor Admin: error 500 on heroku 【发布时间】:2022-01-23 05:00:28 【问题描述】:

我想为我的项目创建一个管理面板,我使用 Qor admin 和 Gin。当我在 localhost 上对其进行测试时,它没有导致任何错误或异常,但是当我将其提交给 heroku 时,我会得到 500 错误;我使用 Gorm v1 作为 ORM。我该如何解决这个错误?

这是主项目文件:

package main

import (
    "net/http"
    "os"

    "github.com/gin-gonic/gin"
    "github.com/qor/admin"
)

func main() 
    connect()

    Admin := admin.New(&admin.AdminConfigDB: db)

    adminServer := http.NewServeMux()
    Admin.MountTo("/admin", adminServer)
    Admin.AddResource(&User)

    app := gin.Default()
    //app.LoadhtmlGlob("views/*")
    app.MaxMultipartMemory = 140 << 20
    gin.SetMode(gin.ReleaseMode)

    Controller(app)

    port := os.Getenv("PORT")
    if port == "" 
        port = "5000"
    

    app.Any("/admin/*resources", gin.WrapH(adminServer))
    app.Run(":" + port)

当我尝试打开 AP 时得到的结果是: And what i get as a result when i try to open AP:

【问题讨论】:

您的代码看起来与我在doc.getqor.com/admin/integration.html 周围看到的示例完全不同,您可以尝试一个更简单的实现,看看它是否失败?似乎也应该添加 heroku 标签,因为它只发生在 Heroku 上。 @Wolfgang 我尝试了更简单的实现,如果运行它而不构建它不会导致任何错误,但如果我在本地机器或 heroku 上构建它,它会导致错误。我找到了 kludge,我只是从 qor/admin rep 复制文件夹“views”,并通过路径“app\views\qor”将其放入我的项目文件夹中。现在它可以在 heroku 上运行,但是,正如我在文档中看到的那样,它必须在没有该文件夹的情况下工作。 【参考方案1】:

我找到了方法:您可以将qor/admin存储库中的文件夹通过路径&lt;project_folder&gt;/app/views/qor放入您的项目文件夹中。在名为qor 的文件夹中,必须有.tmpl 文件和静态内容文件夹。

【讨论】:

以上是关于Gin Gonic 和 Qor Admin 的问题:heroku 上的错误 500的主要内容,如果未能解决你的问题,请参考以下文章

Go实战--通过gin-gonic框架搭建restful api服务(github.com/gin-gonic/gin)

将 Tus 可恢复文件上传协议与 Gin-Gonic CORS 问题集成

golang gin-gonic 和在包中拆分文件

gin-gonic Go轻量级restful服务

使用 gin gonic 返回文字 JSON 的最简单方法

无法生成gin-gonic服务器应用程序的代码覆盖率报告