在我的$targetDir = 'D:\Testfolder\_dn'
Get-ChildItem -Recurse -Filter *.txt | Select-Object -ExpandProperty DirectoryName -Unique | Move-Item -Destination $targetDir -Recurse -Container
模板中给出三个或更多变量,确保两个变量之间的交互总是最方便的方法是什么?
DTL
预期:
<div>{{ person.name }} · {{ person.phone }} · {{ person.city }}</div>
有没有一种简单的方法可以通过内置功能解决这个问题?我尽量避免编写自定义<div>John · 1234567 · New York</div>
<!-- {{ person.city }} is null or empty-->
<div>John · 1234567</div>
过滤器/模板标记。
答案 0 :(得分:1)
您无法在Django模板语言中轻松完成此操作。从您的视图中传递非空值列表,例如["John", "1234567"]
,或撰写自定义标记或过滤条件,以便您可以执行{% interpunct person.name person.phone person.city %}
或{{ person|display_person }}
之类的操作。
答案 1 :(得分:0)
为此,您可以(ab)使用cycle
标签。将其放在每个列表项的前面,然后使用它在第一次通过时不发出任何内容,然后再使用分隔符。在for
循环中使用非常简单。在外部使用需要这种模式:
{% cycle '' '|' '|' '|' as itemsep silent %}
{% if foo %}
{{ itemsep }}{% cycle itemsep %}
Foo!
{% endif %}
{% if bar %}
{{ itemsep }}{% cycle itemsep %}
Bar!
{% endif %}
{% if foobar %}
{{ itemsep }}{% cycle itemsep %}
FooBar!
{% endif %}
或者,仅使用额外的silent
''
的复杂性
{% cycle '' '' '|' '|' '|' as itemsep %}
{% if foo %}
{% cycle itemsep %}
Foo!
{% endif %}
...