2015-02-03 5 views
17

सॉल्टस्टैक के लिए Jinja2 का उपयोग करके टेम्पलेट फ़ाइलों को लिखते समय, मैं अक्सर फ़ाइल की शुरुआत में कुछ चर परिभाषित करता हूं। उदाहरण के लिए:Jinja2 परिवर्तनीय परिभाषाओं द्वारा छोड़ी गई खाली लाइनों को हटाएं

{% set ip = grains['ip4_interfaces']['eth1'][0] %} 
{% set domain = pillar['company_domain'] %} 
{% set version = pillar['site_version'] %} 
{% set site_url = 'www.' + domain %} 

[...] 

सब कुछ ठीक काम करता है, लेकिन जब उत्पन्न फ़ाइल खोलने, मैं खाली लाइनों जहां जिंजा कोड था के एक ब्लॉक मिलता है।

क्या मैं कुछ गलत कर रहा हूं? यदि नहीं, तो टेम्पलेट का उपयोग करते समय उन खाली रेखाओं से छुटकारा पाने का कोई तरीका है?

उत्तर

26

Jinja2 में whitespace control है। आप देख सकते हैं:

{%- set ip = grains['ip4_interfaces']['eth1'][0] -%} 
{%- set domain = pillar['company_domain'] -%} 
{%- set version = pillar['site_version'] -%} 
{%- set site_url = 'www.' + domain -%} 

[...] 

साथ ही, नमक configuration filejinja_trim_blocks और jinja_lstrip_blocks का समर्थन करता है।

संबंधित मुद्दे