मैं गोलांग के "एचटीएमएल/टेम्पलेट" पैकेज का उपयोग कर रहा हूं ताकि एक ही फ्रेम के समान _base.html का उपयोग करके एकाधिक पृष्ठों पर सामग्री प्रदान की जा सके। मैं एक के रूप में सेवा करने के लिए कई एचटीएमएल फाइलों (_base.html और सामग्री फ़ाइल) मर्ज करता हूं।गोलांग टेम्पलेट विभिन्न निर्देशिका स्तरों पर सीएसएस की सेवा
func main() {
http.HandleFunc("/", indexHandler)
http.HandleFunc("/blog/", blogHandler)
http.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("http/css"))))
http.ListenAndServe(":1337", nil)
}
func indexHandler(w http.ResponseWriter, r *http.Request) {
index := template.Must(template.ParseFiles(
"http/html/_base.html",
"http/html/index.html",
))
index.Execute(w, nil)
}
func blogHandler(w http.ResponseWriter, r *http.Request) {
blog := template.Must(template.ParseFiles(
"http/html/_base.html",
"http/html/blog.html",
))
blog.Execute(w, nil)
}
मेरी वेबसर्वर मेरी सीएसएस ठीक renders की जड़ पर ऐसा करने से, क्योंकि सही निर्देशिका के लिए _base.html अंक में मेरी .css को एचटीएमएल लिंक टैग का उपयोग:
<link href="css/style.css" rel="stylesheet">
लेकिन जब मैं नेविगेट/से/ब्लॉग/मेरा सीएसएस एक स्तर नीचे चला गया (या मैं एक स्तर ऊपर गया, हालांकि आप इसे देखना चाहते हैं) और इसलिए सीएसएस href अचानक /blog/css/style.css पर इंगित करता है और इस प्रकार यह प्रस्तुत नहीं करेगा।
यह प्रत्येक सामग्री-फ़ाइल में css के स्तर को बताकर आसानी से तय किया जा सकता है जिसे मैं _base.html के साथ विलय करता हूं, हालांकि मुझे लगता है कि वहां एक और, क्लीनर, अलग-अलग तरीका होना चाहिए। क्या इस मामले में मेरा आंत गलत है?
डर्न, मैं ऐसा एन 00 बी हूं, और आप बहुत उपयोगी हैं श्रीमान। पता होना चाहिए था, लेकिन भूल गया। बहुत बहुत धन्यवाद – Dani