TurboGears - शामिल हैं

किसी अन्य XML दस्तावेज़ (विशेष रूप से HTML दस्तावेज़) की सामग्री को वर्तमान दस्तावेज़ में समावेश टैग का उपयोग करके शामिल किया जा सकता है। इस तरह के समावेशन को सक्षम करने के लिए, HTML दस्तावेज़ के मूल तत्व में XInclude नेमस्पेस घोषित किया जाना चाहिए।

<html xmlns = "http://www.w3.org/1999/xhtml" xmlns:xi = "http://www.w3.org/2001/XInclude >

उपरोक्त घोषणा निर्दिष्ट करती है जिसमें निर्देश शामिल हैं ‘xi’उपसर्ग। वर्तमान दस्तावेज़ में एक और HTML पृष्ठ की सामग्री जोड़ने के लिए, xi का उपयोग करें: निम्नानुसार निर्देश शामिल करें -

<xi:include href = "somepage.html" />

निम्नलिखित उदाहरण में, root.py में शामिल हैं () नियंत्रक, जो exp.html शामिल हैं।

from hello.lib.base import BaseController
from tg import expose, request

class RootController(BaseController):
   @expose('hello.templates.include')
   def include(self):
      return {}

शीर्षक और पाद HTML

शामिल ..html में, नाम स्थान घोषित है और शीर्ष लेख की सामग्री शामिल है। यहां HTML स्क्रिप्ट की टेम्प्लेट \ _.html शामिल है -

<html xmlns = "http://www.w3.org/1999/xhtml" 
   xmlns:xi = "http://www.w3.org/2001/XInclude">
	
   <head>
      <title>TurboGears Templating Example</title>
   </head>
	
   <body>
      <xi:include href = "heading.html" />
      <h2>main content </h2>
      <xi:include href = "footer.html" />
   </body>
	
</html>

यहां टेम्प्लेट्स \ Heading.html कोड है -

<html>
   <head>
      <title>TurboGears Templating Example</title>
   </head>
	
   <body>
      <h1>This is page Header</h1>
   </body>
</html>

निम्न टेम्पलेट \ footer.html है

<html>
   <head>
      <title>TurboGears Templating Example</title>
   </head>
	
   <body>
      <h3>This is page footer</h3>
   </body>
</html>

गियरबॉक्स का उपयोग करके विकास शुरू करें और दर्ज करें http://localhost:8080/includeब्राउज़र में। प्रस्तुत आउटपुट को नीचे दिखाया गया है -

इस तरह विचारों के मॉड्यूलर निर्माण को प्राप्त किया जा सकता है। यदि xi में उल्लिखित संसाधन: निर्देश शामिल नहीं है, तो एक त्रुटि उठाई जाएगी। ऐसी स्थिति में xi: fallback का उपयोग करके वैकल्पिक संसाधन को लोड किया जा सकता है।

<xi:include href = “main.html”>
   <xi:fallback href = ”default.html”/>
</xi.include>

सामग्री के समावेश को href विशेषता के रूप में गतिशील बनाया जा सकता है जिसमें अभिव्यक्ति हो सकती है।

Root.py में निम्नलिखित नियंत्रक जोड़ें।

@expose('hello.templates.ref-include')
   def refinclude(self):
      return {'pages':['heading','main','footer']}

टेम्पलेट फ़ोल्डर में Ref-शामिल.html के रूप में निम्न कोड सहेजें।

<html xmlns = "http://www.w3.org/1999/xhtml"
   xmlns:py = "http://genshi.edgewall.org/"
   xmlns:xi = "http://www.w3.org/2001/XInclude">
	
   <head>
      <title>TurboGears Templating Example</title>
   </head>
	
   <body>
      <xi:include href = "${name}.html" py:for = "name in pages" />
   </body>
	
</html>

सर्वर शुरू करने से पहले यह सुनिश्चित कर लें कि टेम्प्लेट फ़ोल्डर में एक शीर्ष लेख। Html, main.html और footer.html है। दर्जhttp://localhost:8082/refinclude निम्न आउटपुट प्राप्त करने के लिए ब्राउज़र में