全局设置无的默认渲染

时间:2017-09-02 14:50:17

标签: django django-templates

是否可以在全局或每个模板中为None设置不同的呈现?因此,我告诉Django将所有None渲染为-

有像profile这样的页面,我们有几十个属性,这比处理所有可能的无或稍微重写每个属性要好一些:

{{ user.userprofile.attribute }}

{% firstof user.userprofile.attribute "-" %}

{{ user.userprofile.attribute|default:"-" }}

1 个答案:

答案 0 :(得分:0)

您可以在settings.py中的TEMPLATES设置默认设置。

<强>解决方案

if DEBUG:
    TEMPLATES[0]['OPTIONS']['string_if_invalid'] = '-' # or any value

您可以为所拥有的后端执行此操作,或直接在TEMPLATES.OPTIONS dict中提及。

我设置DEBUG时放置的原因是how invalid template variables are handled。请阅读链接末尾的注释以供参考。