如何在 jinja2 中使用 python 进行换行?
下面是我的代码
t1 = Template("{% for i in range(0, a1) %}|{{ mylist1[i] }}{% for j in range(0, (20 - (mylist1[i]|length))) %}{{ space }}{% endfor %}|{{ dicts[mylist1[i]][dicts[mylist1[i]].keys()[0]] }}{% for j in range(0, (20 - (dicts[mylist1[i]][dicts[mylist1[i]].keys()[0]]|length))) %}{{ space }}{% endfor %}|\n{{ string }}{% endfor %}")
但是,如果我像下面那样做我通常在 python 中做的事情:
t1 = Template("{% for i in range(0, a1) %}|\
{{ mylist1[i] }}\
{% for j in range(0, (20 - (mylist1[i]|length))) %}\
{{ space }}\
{% endfor %}|\
{{ dicts[mylist1[i]][dicts[mylist1[i]].keys()[0]] }}\
{% for j in range(0, (20 - (dicts[mylist1[i]][dicts[mylist1[i]].keys()[0]]|length))) %}\
{{ space }}\
{% endfor %}|\n\
{{ string }}\
{% endfor %}")
谁能帮我解决这个问题?
谢谢。
最佳答案
你不应该使用像 in this answer 这样的字符串连接.在您的情况下,利用括号和 implicit string concatenation .
t1 = Template("{% for i in range(0, a1) %}|{{ mylist1[i] }}\n"
" {% for j in range(0, (20 - (mylist1[i]|length))) %}\n"
" {{ space }}\n"
" {% endfor %}|{{ dicts[mylist1[i]][dicts[mylist1[i]].keys()[0]] }}\n"
" {% for j in range(0, (20 - (dicts[mylist1[i]][dicts[mylist1[i]].keys()[0]]|length))) %}\n"
" {{ space }}\n"
" {% endfor %}|\\n{{ string }}\n" # Notice "\\n" to keep it for Jinja.
"{% endfor %}")
关于python - 我怎样才能在 jinja2 python 中换行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36866128/