2012-12-18 6 views
1

J'ai hérité d'un grand nombre de fichiers .yaml contenant un attribut comme ceci:Comment configurer les références yaml dans un seul fichier .yaml?

our_price: Our price is just <sup>$</sup><span class="amount">99.95</span> this month 

Maintenant, le client veut être en mesure de prendre our_price, ajouter des taxes et frais, et afficher un prix total les modèles de jinja.

Ce que je voudrais faire est d'ajouter un nouvel attribut, il ressemble à ceci:

simple_price: 99.95 
our_price: Our price is just <sup>$</sup><span class="amount">simple_price</span> this month 

J'ai essayé d'utiliser des alias, mais il semble qu'ils ne fonctionnent que comme la valeur totale du noeud .

Y a-t-il un moyen de configurer ceci en YAML, ou un moyen de retirer simplement le float de la chaîne our_price dans jinja2?

Répondre

0

Bien que je ne sache rien de jinja, je pense que votre question est conceptuellement similaire à this StackOverflow question. La réponse courte est, vous ne pouvez pas faire l'interpolation de chaîne dans YAML comme vous/votre client veut. Je crois que vous devez passer la valeur simple_price à la valeur our_price du fichier de vue (ou l'équivalent Jinja), et changer l'entrée YAML à quelque chose comme:

simple_price: 99.95 
our_price: Our price is just <sup>$</sup><span class="amount">%{simple_price}</span> 

Ou, en utilisant des alias et des ancres, vous peut ramener le prix et la chaîne en tant que tableau à la vue, puis les joindre en une seule chaîne:

simple_price: &simple_price <sup>$</sup><span class="amount">99.95</span> 
our_price: 
    - Our price is just 
    - *simple_price 
Questions connexes