如何在 python 中的 jinja2 中进行换行?
下面是我的代码
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 %}")
Run Code Online (Sandbox Code Playgroud)
但是,如果我按照我通常在 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 %}")
Run Code Online (Sandbox Code Playgroud)
谁能帮我解决这个问题吗?
谢谢。
您不应该像此答案中那样使用字符串连接。在您的情况下,请利用括号和隐式字符串连接。
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 %}")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28488 次 |
| 最近记录: |