jac*_*zil 4 django django-templates
我觉得我正在写一些应该存在的东西.
Django是否有一个模板过滤器,它连接逗号和地方的项目列表以及最后一个之前的'和'?
例如:
a = ['foo',]
b = ['bar', 'baz',]
c = a + b
d = c + ['yourmom',]
Run Code Online (Sandbox Code Playgroud)
我正在寻找的过滤器将以下列方式显示每个列表:
a会显示'foo'.
b会显示'bar和baz'.
c会显示'foo,bar和baz'.
d会显示'foo,bar,baz和yourmom'.
问题1:有什么东西可以做到吗?
我试着自己写这个,它在两个地方打破:
我的代码:http: //pastie.org/private/fhtvg5tchtwlnrdyuoyeja
问题2:它打破了forloop.counter和tc.author.all |长度.请解释为什么这些无效.
dol*_*a33 15
您可以在模板中执行此操作:
{% for item in list %}
{% if forloop.first %}{% else %}
{% if forloop.last %} and {% else %}, {% endif %}
{% endif %}{{item}}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
为清晰起见添加了换行符:删除它们以避免输出中不需要的空格:
{% for item in list %}{% if forloop.first %}{% else %}{% if forloop.last %} and {% else %}, {% endif %}{% endif %}{{item}}{% endfor %}
Run Code Online (Sandbox Code Playgroud)
编辑:更改了代码.感谢Eric Fortin让我注意到我很困惑.
| 归档时间: |
|
| 查看次数: |
4359 次 |
| 最近记录: |