组合常量和变量值作为模板默认值

Dou*_*ris 5 django django-templates

我正在设置一个模板,其中我希望默认值是常量字符串和变量 id 值的组合。所需的 HTML 输出类似于:

<span id="id1234" class="foo">
   Click <a href="/images/img1234.jpg">here to view image</a>.
</span>
Run Code Online (Sandbox Code Playgroud)

在 的模板代码中span,我想要类似的内容:

<span id="{{ spanid|default:'id'object.id }}" class="foo">
Run Code Online (Sandbox Code Playgroud)

同样,a标签将使用:

<a href="/images/{{ image_file|default:'img'object.id'.jpg'"> here to view...
Run Code Online (Sandbox Code Playgroud)

这不起作用,有没有办法在 django 模板和过滤default器的语法中做到这一点?

Chr*_*att 4

你不能。然而,default这只是一条捷径。在这种情况下,快捷方式不起作用,但较长的形式将允许您执行您需要的操作:

{% if image_file %}{{ image_file }}{% else %}img{{ object.id }}.jpg{% endif %}
Run Code Online (Sandbox Code Playgroud)