2012-07-07 180 views
4

我有以下代碼:在Django模板使用spaceless

{% for item in profile.jobs.all %} 
     {% if not forloop.first %}, {% endif %}{{ item }} 
    {% endfor %} 

將會產生類似如下:

"Programmer , Plumber , Philosopher" 

我不想逗號前面有一個空間,但唯一的辦法我已經能夠擺脫它是將它壓縮到一條線上,這降低了可讀性:

{% for item in profile.jobs.all %}{% if not forloop.first %}, {% endif %}{{ item }}{% endfor %} 

Is there處理這個問題的更好方法是什麼?

+2

我認爲空間是由於{%if not forloop.first%}'之前的空格/縮進引起的。 – machaku 2012-07-07 11:03:19

回答

3

{%spaceless%}僅刪除HTML標籤之間的空格。

您可以使用{{值|加入: 「」}}

或我相信這將工作:

{% for item in profile.jobs.all %} 
    {% if not forloop.first %}, {% endif %} 
    {{ item }} 
{% endfor %} 
0

,如果你用的什麼東西像

{% if profile.jobs.count != 1 %} 
    {% for item in profile.jobs.all %} 
     {{ item }}{% if not forloop.last %}, {% endif %} 
    {% endfor %} 
{% else %} 
    {{item}} 
{% endif %}