-1

模板.html

{% if leftbar.where_tab.0.location.title or leftbar.report.other_location or leftbar.report.location_description%}
{%with leftbar.where_tab.0.location.title|add:leftbar.report.other_location|add:leftbar.report.location_description as pi%}
{% if pi|length > 36 %}{{pi|slice:"36"}}...{% else  %}{{pi}}{% endif %}
{% endwith %}{%else%}Where{%endif%}

我想在每个项目之间添加一个逗号(,)。现在它显示没有任何逗号,它全部显示在一行中。需要在项目之间而不是最后一个分隔符。

4

1 回答 1

1

您可以编写一个模板标签来实现您正在寻找的内容:

{% load_pi %}
{% display_pi leftbar %} 

并在模板标签中pi.py

from django import template

register = template.Library()

def display_pi(leftbar):

    title = leftbar.get('where_tab')[0].location.title if leftbar.get('where_tab') and leftbar.get('where_tab')[0].location else ''
    location = leftbar.report.other_location if leftbar.get('report') else ''
    description = leftbar.report.location_description if leftbar.get('report') else ''

    if any([title, location, description]):
        avail = ", ".join([x for x in [title, location, description] if x])
        return (avail[:36] + '..') if len(avail) > 36 else avail
    return "Where"

register.simple_tag(display_pi)

请更严格地处理错误检查。

于 2013-07-16T12:20:07.707 回答