css Gin加载模板不正确

ee7vknir  于 2023-04-01  发布在  其他
关注(0)|答案(1)|浏览(184)

我的服务器上有几个路由:

router.GET("/", func(c *gin.Context) {
    c.HTML(http.StatusOK, "index.html", gin.H{"title": "Главная страница"})
})

router.POST("/", func(c *gin.Context) {
    c.HTML(http.StatusOK, "index.html", gin.H{"title": "Главная страница"})
})

router.GET("/users", func(c *gin.Context) {
    c.HTML(http.StatusOK, "register.html", gin.H{"title": "Регистрация"})
})

router.POST("/users", server.createUser, func(c *gin.Context) {
    c.HTML(http.StatusOK, "index.html", gin.H{"title": "Регистрация"})
})

router.GET("/users/login", func(c *gin.Context) {
    c.HTML(http.StatusOK, "auth.html", gin.H{"title": "Авторизация"})
})
router.POST("/users/login", server.loginUser, func(c *gin.Context) {
    c.HTML(http.StatusOK, "index.html", gin.H{"title": "Главная страница"})
})

当我转到/users url时,一切都很好。但是当我转到/users/login时,它不加载样式。在控制台中,我有以下输出:

[GIN] 2023/03/29 - 20:06:31 | 200 |      4.4518ms |             ::1 | GET      "/users/login"
[GIN] 2023/03/29 - 20:06:31 | 404 |            0s |             ::1 | GET      "/users/static/css/styles.css"
[GIN] 2023/03/29 - 20:06:32 | 200 |    123.6236ms |             ::1 | GET      "/static/css/auth.css"
[GIN] 2023/03/29 - 20:07:04 | 200 |       3.594ms |             ::1 | GET      "/users"
[GIN] 2023/03/29 - 20:07:04 | 304 |       444.2µs |             ::1 | GET      "/static/css/register.css"

因此,当我转到/users时,它正确地加载静态:static/css/file.css。但如果我去users/login in加载静态错误的方式:/users/static/css/styles.css。为什么要附加前缀“users/"?
在我的HTML模板中,我有这些链接:
register.html中:

<link rel="stylesheet" href="/static/css/register.css">

auth.html中:

<link rel="stylesheet" href="/static/css/auth.css">

为什么它以不同的方式加载静态?

mwngjboj

mwngjboj1#

我已经找到了问题所在。它发生的原因是路线:users/users/login。当我编辑users/login-〉login/时,一切都开始正常工作

相关问题