Selaa lähdekoodia

Fixes html debug mode

Manu Mtz-Almeida 11 vuotta sitten
vanhempi
commit
46225ea53a
2 muutettua tiedostoa jossa 19 lisäystä ja 11 poistoa
  1. 14 10
      gin.go
  2. 5 1
      render/render.go

+ 14 - 10
gin.go

@@ -82,22 +82,26 @@ func Default() *Engine {
 }
 }
 
 
 func (engine *Engine) LoadHTMLGlob(pattern string) {
 func (engine *Engine) LoadHTMLGlob(pattern string) {
-	templ := template.Must(template.ParseGlob(pattern))
-	engine.SetHTMLTemplate(templ)
+	if gin_mode == debugCode {
+		engine.HTMLRender = render.HTMLDebug
+	} else {
+		templ := template.Must(template.ParseGlob(pattern))
+		engine.SetHTMLTemplate(templ)
+	}
 }
 }
 
 
 func (engine *Engine) LoadHTMLFiles(files ...string) {
 func (engine *Engine) LoadHTMLFiles(files ...string) {
-	templ := template.Must(template.ParseFiles(files...))
-	engine.SetHTMLTemplate(templ)
-}
-
-func (engine *Engine) SetHTMLTemplate(templ *template.Template) {
 	if gin_mode == debugCode {
 	if gin_mode == debugCode {
 		engine.HTMLRender = render.HTMLDebug
 		engine.HTMLRender = render.HTMLDebug
 	} else {
 	} else {
-		engine.HTMLRender = render.HTMLRender{
-			Template: templ,
-		}
+		templ := template.Must(template.ParseFiles(files...))
+		engine.SetHTMLTemplate(templ)
+	}
+}
+
+func (engine *Engine) SetHTMLTemplate(templ *template.Template) {
+	engine.HTMLRender = render.HTMLRender{
+		Template: templ,
 	}
 	}
 }
 }
 
 

+ 5 - 1
render/render.go

@@ -82,7 +82,11 @@ func (_ htmlDebugRender) Render(w http.ResponseWriter, code int, data ...interfa
 	writeHeader(w, code, "text/html")
 	writeHeader(w, code, "text/html")
 	file := data[0].(string)
 	file := data[0].(string)
 	obj := data[1]
 	obj := data[1]
-	return template.New(file).Execute(w, obj)
+	t, err := template.ParseFiles(file)
+	if err != nil {
+		return err
+	}
+	return t.ExecuteTemplate(w, file, obj)
 }
 }
 
 
 func (html HTMLRender) Render(w http.ResponseWriter, code int, data ...interface{}) error {
 func (html HTMLRender) Render(w http.ResponseWriter, code int, data ...interface{}) error {