2017-05-30 213 views
0
"{{ 'a+rwx' if '{{ item }}' == '{{ airflow_dag_folder }}' else 'u+rwx,g+rx,o+rx' }}" 

這是想我做比較,但它總是返回U + RWX,G + RX,O + RX。希望它們在匹配時返回+ rwx,但即使當item與airflow_dag_folder相同時,它也不會返回正確的結果。Jinja2的模板 - 比較字符串

回答

2

您正在使用Jinja2表達式。 Jinja2表達式中的變量由它們的名稱引用(不帶引號)。

在您的表達式中,您將比較字符串{{ item }}與字符串{{ airflow_dag_folder }}。這兩個字符串是不相等的,所以你總是得到在else語句中定義的值。

而是使用:

"{{ 'a+rwx' if item == airflow_dag_folder else 'u+rwx,g+rx,o+rx' }}" 
+0

哇,我不知道我能做到這一點,非常感謝! –