হ্যা এটা সম্ভব. এ html.Template
আসলে টেম্পলেট ফাইলগুলির একটি সেট। আপনি যদি এই সেটে একটি সংজ্ঞায়িত ব্লক কার্যকর করেন, তবে এই সেটটিতে সংজ্ঞায়িত অন্যান্য সমস্ত ব্লকের অ্যাক্সেস রয়েছে।
আপনি যদি নিজেরাই এই জাতীয় টেম্পলেট সেটগুলির মানচিত্র তৈরি করেন তবে জিনজা / জাঙ্গো যে অফার দেয় তা আপনার কাছে মূলত একই নমনীয়তা থাকে। পার্থক্যটি হ'ল এইচটিএমএল / টেমপ্লেট প্যাকেজের ফাইল সিস্টেমে সরাসরি অ্যাক্সেস নেই, সুতরাং আপনাকে নিজেরাই টেমপ্লেটগুলি বিশ্লেষণ করতে এবং রচনা করতে হবে।
দুটি ভিত্তিক পৃষ্ঠা ("index.html" এবং "other.html") সহ নিম্নোক্ত উদাহরণটি বিবেচনা করুন যা উভয়ই "বেস.html" থেকে উত্তরাধিকার সূত্রে প্রাপ্ত:
{{define "base"}}<html>
<head>{{template "head" .}}</head>
<body>{{template "body" .}}</body>
</html>{{end}}
{{define "head"}}<title>index</title>{{end}}
{{define "body"}}index{{end}}
{{define "head"}}<title>other</title>{{end}}
{{define "body"}}other{{end}}
এবং টেমপ্লেট সেট নিম্নলিখিত মানচিত্র:
tmpl := make(map[string]*template.Template)
tmpl["index.html"] = template.Must(template.ParseFiles("index.html", "base.html"))
tmpl["other.html"] = template.Must(template.ParseFiles("other.html", "base.html"))
আপনি এখন কল করে আপনার "index.html" পৃষ্ঠাটি রেন্ডার করতে পারেন
tmpl["index.html"].Execute("base", data)
এবং আপনি কল করে আপনার "other.html" পৃষ্ঠাটি রেন্ডার করতে পারেন
tmpl["other.html"].Execute("base", data)
কিছু কৌশল (যেমন আপনার টেম্পলেট ফাইলগুলির একটি সামঞ্জস্যপূর্ণ নামকরণের কনভেনশন) দিয়ে tmpl
মানচিত্রটি স্বয়ংক্রিয়ভাবে উত্পন্ন করা এমনকি সম্ভব ।