2011-12-24 8 views
10

परिदृश्य होगा:एक जिंजा आयात में एक चर गुजर या एक माता पिता html फ़ाइल से शामिल

"यदि आप एक चर व्यक्ति जिससे आप पास करना चाहते हैं नाम, पता, आदि जैसे क्षेत्रों की एक संख्या में शामिल हैं कहा जाता है एचटीएमएल के "एक आंशिक टुकड़ा करने के लिए - इस समाधान उदाहरण

snippet.html

<div id="item"> 
    <ul> 
    <li> 
     <span>{{name}}</span> 
     <span>{{address}}</span> 
    <li> 
    </ul> 
</div> 

mypage.html

के लिए ग्राहकों के लिए एक खोज से परिणाम हो सकता है

इसे प्राप्त करने का सबसे अच्छा तरीका क्या है। प्रलेखन में यह हर जगह चारों ओर संदर्भ पारित करने के बारे में बात करता है, लेकिन ऐसा लगता है कि टेम्पलेट्स को प्रस्तुत करते समय मुझे एक बड़ी वस्तु माना जाता है। निश्चित रूप से प्रत्येक टेम्पलेट में विशिष्ट वस्तुओं को पार करना आसान है?

उत्तर

12

जब आप एक दूसरे में एक टेम्पलेट में शामिल हैं, यह उसके संदर्भ के लिए उपयोग लाभ, इसलिए यदि आप अपने person चर mypage.html करने के संदर्भ गुजरती हैं, तो आप इस तरह अपने आयातित टेम्पलेट से उस तक पहुंच सकेंगे:

snippet.html:

<div id="item"> 
    <ul> 
     <li> 
      <span>{{ person.name }}</span> 
      <span>{{ person.address }}</span> 
     </li> 
    </ul> 
</div> 

mypage.html:

<div id="result"> 
    {% include 'snippet.html' %} 
</div> 

view.py:

def view(person_id): 
    person = Person.get(person_id) # or whatever source you get your data from 
    return render_template('mypage.html', person=person) 
+1

शामिल फ़ाइल में मैक्रोज़ के बारे में – aWebDeveloper

+4

इस की निराशा होती बात यह है कि आप तो नहीं कर सकता है क्या: संदर्भ किसी आयातित मैक्रो में उपलब्ध करवाने के लिए, आप जब आयात करने, जैसे संदर्भ साथ उपयोग करने के लिए आपके छोटे में "कॉलिंग वेरिएबल" नाम के लिए अज्ञात होने के लिए जेनेरिक पर्याप्त शामिल है, इसलिए बोलने के लिए। उदाहरण के लिए, यदि मैं वस्तुओं की कुछ सूची को कम करने के लिए एक सामान्य तरीका बना रहा हूं, तो आमतौर पर उन्हें "ऑब्जेक्ट्स" नामक कंटेनर में नहीं होता है, यह "जानवरों" की तरह कुछ विशिष्ट है। – Dan

+0

@Dan इसके बजाय मैक्रोज़ का उपयोग क्यों नहीं करते? – Achshar

4

यह MatToufoutu का उत्तर पूरा करता है।

मैक्रोज़ में पर्यावरण ग्लोबल हमेशा उपलब्ध होते हैं, लेकिन संदर्भ चर नहीं होते हैं।

{% from "your_macros.html" import your_macro with context %} 
संबंधित मुद्दे