2017-09-02 83 views
1

是否可以为全局或每个模板设置None的不同渲染?因此,我告诉Django例如将所有None渲染为-全局设置缺省渲染为无

有喜欢profile的网页,我们有属性的几十,这将是比采取一切可能没有照顾或重写每个属性都略胜一筹:

{{ user.userprofile.attribute }} 

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

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

回答

0

您可以在中设置默认设置于TEMPLATES

解决方案

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

您可以为您或TEMPLATES.OPTIONS字典直接提到它作为许多后端做到这一点。

如果设置了DEBUG,我会这样做的原因是因为how invalid template variables are handled。最后阅读链接中的说明以供参考。

+0

这不起作用。它适用于未定义的变量,但不适用于无值。 –