Django自定义标签条件逻辑



在这个项目中,我正在使用(我是非常新的Django),有自定义标签,即{{ custom_tag }},以前的开发人员创建。

在HTML文件中,我发现自己在同一个HTML文件中多次执行以下条件逻辑块。

{% if custom_tag == "Blog Tag" %}
 Blog
{% elif custom_tag == "About Tag" %}
 About
{% else %}
etc...
{% endif %}

是否有办法将所有的条件逻辑替换为{{ custom_tag|pretty }}{{ pretty_custom_tag }} ?

您可以自己编写一个自定义过滤器,允许您使用{{ custom_tag|tag_pretty }}: https://docs.djangoproject.com/en/dev/howto/custom-template-tags/

例如:

from django import template
from django.template.defaultfilters import stringfilter
register = template.Library()
@register.filter
@stringfilter
def pretty_tag(value):
    return value.rpartition(" ")[0]

最新更新