web-dev-qa-db-fra.com

Comment utiliser les opérateurs logiques dans le modèle jinja sur la pile de sel (AND, OR)

J'utilise un modèle jinja pour générer un fichier d'état pour salt. J'ai ajouté quelques conditions et voudrais exprimer: if A or B. Cependant, il semble que je ne puisse faire fonctionner aucun opérateur logique.

Il n'aime pas ||, |, && (Qui, je crois, ne s'applique pas ici), mais pas non plus and, or Et même pas le regroupement avec (), Qui devrait fonctionner selon le documentation jinja . Je n'ai trouvé aucune information à ce sujet dans les documents sur le sel, mais je pense que je dois faire une erreur stupide?

Mon code:

{% if grains['configvar'] == 'value' OR grains['configvar'] == 'some other value' %}

Erreur:

Data failed to compile:
Rendering SLS 'base:mystate' failed: Jinja syntax error: expected token 'end of statement block', got 'OR'; line 3
11
hotfire42

Vous le faites correctement mais les opérateurs logiques ont besoin d'être en minuscules.

Essayez de passer tous vos opérateurs en minuscules.

19
alejdg