Is there any method to make jinja2 more readable?











up vote
0
down vote

favorite












When use jinja2 to make complex config, I feel confused. Is there any method to make jinja2 more readable?



    { set disk_ssd_count = 0 }
{ set disk_sata_count = 0 }
{{ inventory_hostname }}:
{% if ansible_devices | length == 0 %}
rs:
{% else %}
rs:
{% for disk in ansible_devices | sort %}
{% if disk | string | is_disk %}
{% if ansible_devices[disk]['rotational'] | disk_type == 'ssd' %}
{% set disk_ssd_count = disk_ssd_count + 1 %}
- { disk_name: {{ disk | string }}, disk_size: {{ ansible_devices[disk]['size'] }} }
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
pfd:
{% for disk in ansible_devices | sort %}
{% if disk | string | is_disk %}
{% if ansible_devices[disk]['rotational'] | disk_type == "sata" %}
- { disk_name: {{ disk | string }}, disk_size: {{ ansible_devices[disk]['size'] }} }
{% endif %}
{% endif %}
{% endfor %}









share|improve this question









New contributor




hiyang is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 1




    Welcome to Stack Overflow! This question is simply too broad and subjective to fit into the site's format. Please read stackoverflow.com/help/how-to-ask
    – David L
    Nov 5 at 3:45












  • You can look at the macros side
    – Tobin
    Nov 6 at 15:40















up vote
0
down vote

favorite












When use jinja2 to make complex config, I feel confused. Is there any method to make jinja2 more readable?



    { set disk_ssd_count = 0 }
{ set disk_sata_count = 0 }
{{ inventory_hostname }}:
{% if ansible_devices | length == 0 %}
rs:
{% else %}
rs:
{% for disk in ansible_devices | sort %}
{% if disk | string | is_disk %}
{% if ansible_devices[disk]['rotational'] | disk_type == 'ssd' %}
{% set disk_ssd_count = disk_ssd_count + 1 %}
- { disk_name: {{ disk | string }}, disk_size: {{ ansible_devices[disk]['size'] }} }
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
pfd:
{% for disk in ansible_devices | sort %}
{% if disk | string | is_disk %}
{% if ansible_devices[disk]['rotational'] | disk_type == "sata" %}
- { disk_name: {{ disk | string }}, disk_size: {{ ansible_devices[disk]['size'] }} }
{% endif %}
{% endif %}
{% endfor %}









share|improve this question









New contributor




hiyang is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 1




    Welcome to Stack Overflow! This question is simply too broad and subjective to fit into the site's format. Please read stackoverflow.com/help/how-to-ask
    – David L
    Nov 5 at 3:45












  • You can look at the macros side
    – Tobin
    Nov 6 at 15:40













up vote
0
down vote

favorite









up vote
0
down vote

favorite











When use jinja2 to make complex config, I feel confused. Is there any method to make jinja2 more readable?



    { set disk_ssd_count = 0 }
{ set disk_sata_count = 0 }
{{ inventory_hostname }}:
{% if ansible_devices | length == 0 %}
rs:
{% else %}
rs:
{% for disk in ansible_devices | sort %}
{% if disk | string | is_disk %}
{% if ansible_devices[disk]['rotational'] | disk_type == 'ssd' %}
{% set disk_ssd_count = disk_ssd_count + 1 %}
- { disk_name: {{ disk | string }}, disk_size: {{ ansible_devices[disk]['size'] }} }
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
pfd:
{% for disk in ansible_devices | sort %}
{% if disk | string | is_disk %}
{% if ansible_devices[disk]['rotational'] | disk_type == "sata" %}
- { disk_name: {{ disk | string }}, disk_size: {{ ansible_devices[disk]['size'] }} }
{% endif %}
{% endif %}
{% endfor %}









share|improve this question









New contributor




hiyang is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











When use jinja2 to make complex config, I feel confused. Is there any method to make jinja2 more readable?



    { set disk_ssd_count = 0 }
{ set disk_sata_count = 0 }
{{ inventory_hostname }}:
{% if ansible_devices | length == 0 %}
rs:
{% else %}
rs:
{% for disk in ansible_devices | sort %}
{% if disk | string | is_disk %}
{% if ansible_devices[disk]['rotational'] | disk_type == 'ssd' %}
{% set disk_ssd_count = disk_ssd_count + 1 %}
- { disk_name: {{ disk | string }}, disk_size: {{ ansible_devices[disk]['size'] }} }
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
pfd:
{% for disk in ansible_devices | sort %}
{% if disk | string | is_disk %}
{% if ansible_devices[disk]['rotational'] | disk_type == "sata" %}
- { disk_name: {{ disk | string }}, disk_size: {{ ansible_devices[disk]['size'] }} }
{% endif %}
{% endif %}
{% endfor %}






jinja2






share|improve this question









New contributor




hiyang is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




hiyang is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited Nov 5 at 3:48





















New contributor




hiyang is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked Nov 5 at 3:43









hiyang

12




12




New contributor




hiyang is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





hiyang is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






hiyang is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








  • 1




    Welcome to Stack Overflow! This question is simply too broad and subjective to fit into the site's format. Please read stackoverflow.com/help/how-to-ask
    – David L
    Nov 5 at 3:45












  • You can look at the macros side
    – Tobin
    Nov 6 at 15:40














  • 1




    Welcome to Stack Overflow! This question is simply too broad and subjective to fit into the site's format. Please read stackoverflow.com/help/how-to-ask
    – David L
    Nov 5 at 3:45












  • You can look at the macros side
    – Tobin
    Nov 6 at 15:40








1




1




Welcome to Stack Overflow! This question is simply too broad and subjective to fit into the site's format. Please read stackoverflow.com/help/how-to-ask
– David L
Nov 5 at 3:45






Welcome to Stack Overflow! This question is simply too broad and subjective to fit into the site's format. Please read stackoverflow.com/help/how-to-ask
– David L
Nov 5 at 3:45














You can look at the macros side
– Tobin
Nov 6 at 15:40




You can look at the macros side
– Tobin
Nov 6 at 15:40

















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});






hiyang is a new contributor. Be nice, and check out our Code of Conduct.










 

draft saved


draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53148022%2fis-there-any-method-to-make-jinja2-more-readable%23new-answer', 'question_page');
}
);

Post as a guest





































active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes








hiyang is a new contributor. Be nice, and check out our Code of Conduct.










 

draft saved


draft discarded


















hiyang is a new contributor. Be nice, and check out our Code of Conduct.













hiyang is a new contributor. Be nice, and check out our Code of Conduct.












hiyang is a new contributor. Be nice, and check out our Code of Conduct.















 


draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53148022%2fis-there-any-method-to-make-jinja2-more-readable%23new-answer', 'question_page');
}
);

Post as a guest




















































































這個網誌中的熱門文章

Xamarin.form Move up view when keyboard appear

Post-Redirect-Get with Spring WebFlux and Thymeleaf

Anylogic : not able to use stopDelay()