Dans le développement Golang, le moteur de modèles est un élément très important, il peut aider les développeurs à rendre les pages HTML plus facilement. En tant que framework Web léger de Golang, Fiber fournit également son propre moteur de modèles. Lors de l'utilisation de Fiber, vous rencontrez parfois le problème « Le modèle n'existe pas ». Ce problème peut être dû à des paramètres de chemin incorrects ou au fichier n'existe pas. Dans cet article, l'éditeur PHP Youzi analysera en détail la cause de ce problème et proposera des solutions pour vous aider à mieux utiliser le moteur de modèles Fibre pour le rendu HTML.
Sur mon serveur ubuntu 22.10 digitalocean, j'essaie d'utiliser golang avec la fibre et le moteur de template html. J'adore jusqu'à présent.
Tout fonctionne bien, y compris la connexion MySQL et l'envoi d'e-mails. Sauf pour une chose.
Je reçois toujours l'erreur Rendu : l'index du modèle n'existe pas .
Système de fichiers :
├── /gogo ├── main ├── main.go ├── go.mod ├── go.sum ├── /views └── index.html └── /public └── plaatje.png
Mon code main.go :
package main import ( "fmt" "log" fiber "github.com/gofiber/fiber/v2" "github.com/gofiber/template/html" ) func main() { // initialize standard go html template engine template_engine := html.new( "./views", ".html", ) // start fiber app := fiber.new(fiber.config{ views: template_engine, }) // add static folder app.static( "/static", // mount address "./public", // path to the file folder ) // endpoint app.get("/", func(c *fiber.ctx) error { // render index template return c.render("index", fiber.map{ "title": "it works", "plat": "almost", }) }) log.fatal(app.listen(":9990")) }
Fichier index.html :
<!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Unicode"> <title>{{.Title}}</title> </head> <body> <h1>{{.Title}}</h1> <p>{{.Plat}}</p> <p><img src="./static/plaatje.png"></p> </body> </html>
Lorsque je l'exécute localement sur mon Mac, tout fonctionne correctement et les modèles s'affichent comme ils le devraient.
Mais sur le serveur Ubuntu, tout fonctionne bien sauf les modèles, avec l'erreur donnée :
Rendu : l'index du modèle n'existe pas
J'ai essayé de modifier la propriété et les autorisations dans Ubuntu : aucun résultat. Cependant, c'est un peu un angle mort pour moi, donc cela peut encore poser un problème...
J'ai essayé de modifier les chemins de vue (./views, /views, vues.etc) : aucun résultat.
J'ai essayé return c.render("index.html", fiber.map{
: aucun résultat.
Qu'est-ce que j'ai raté ?
Recherchez l'erreur, elle apparaîtra au-dessus de la zone d'information sur la fibre. Pour moi ça se passe comme ça : 2023/03/12 15:40:58 [警告]:无法加载视图:模板:apply:9:函数“t”未定义
. Si votre modèle est compilé, ils seront trouvés à l'aide de chemins relatifs.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!