-2
現在、組み込みテンプレートを利用しているGoウェブサーバーで作業しています。.htmlテンプレートをgoで表示すると、メディアがロードされません。
現在の問題は、Webサーバーを実行すると、正しいファイルが提供されているが、サイトにメディアがロードされていないことです(写真やフォントなど).htmlファイルのようにすべてのメディアがロードされているので、バックエンドと関係があることがわかります。ここに私のコードは次のとおりです。
var templates = template.Must(template.ParseGlob("static/*.html"))
...
func index(w http.ResponseWriter, r *http.Request) {
currentTime := time.Now().Local()
toSend := payload{
Date: currentTime.Format("01-02-2006"),
Status: "Active",
}
t, err := template.ParseFiles("static/index.html")
if err != nil {
log.Fatalf("Error parsing template: %v", err)
}
t.Execute(w, toSend)
}
...
そしてここでは、私のファイルのパスは次のとおりです。
app
|-main.go
|-static(contains static files)
|-media(contains all media)
|-index.html
これは、任意のメディアなしではまだ必要なすべてのデータと完全に罰金テンプレートを提供しています。すべての援助はありがとうございます!
を必要なすべてのあなたは、静的なファイルを提供していましたか?私。 'index'以外に登録された別のハンドラが存在します。 'http.FileServer'? – Adrian
いいえ、私はテンプレートを使用している場合、私はそれが必要でしょうか? – Ethan
テンプレートとは関係ありません。サーバー(例えばGoプログラム)からHTMLをロードする場合、サーバーはHTMLで参照される他のアセット(例えば画像など)も公開する必要があります。ブラウザーのHTMLをディスクから直接ロードするだけで、ブラウザーは同じ方法でアセットをロードします。 – Adrian