2016-04-26 15 views
0

jinja2でpythonで改行を行うにはどうしたらいいですか?水平に、私はいくつかの行でそれらを書きたい、長すぎるので enter image description herejinja2の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 %}") 

結果は enter image description here

誰も私がこれを解決するために助けることができるでしょうか?

ありがとうございます。

答えて

2

Python preserverスペース。結果にも同様に表示されます。

str = "{% for i in range(0, a1) %}|\" 
str += "{{ mylist1[i] }}\" 
str += "{% for j in range(0, (20 - (mylist1[i]|length))) %}\" 
str += "{{ space }}\" 
str += "{% endfor %}|\" 
str += "{{ dicts[mylist1[i]][dicts[mylist1[i]].keys()[0]] }}\" 
str += "{% for j in range(0, (20 - (dicts[mylist1[i]]" 
str += "[dicts[mylist1[i]].keys()[0]]|length))) %}\" 
str += "{{ space }}\" 
str += "{% endfor %}|\n\" 
str += "{{ string }}\" 
str += "{% endfor %}")" 

# and then use the generates string 
t1 = Template(str); 
関連する問題