gpt4 book ai didi

Django:在使用模板继承时在基本模板文件中加载自定义过滤器时出现问题

转载 作者:行者123 更新时间:2023-12-01 18:39:39 26 4
gpt4 key购买 nike

在模板中执行 {% load custom_filters %} 时,在 {% extends "base.html"%} 之后一切正常,但是当我移动加载到 base.html 模板,过滤器会出现奇怪的行为。这是我的 custom_filters.py:

from django import template
from django.template.defaultfilters import stringfilter

register = template.Library()

# To cut off strings at a specified character, at first occurance. Example:
# time = 19:30:12.123456
# {{ time|cut:'.' }}
# returns: 19:30:12
@register.filter
@stringfilter
def cut(string, cutoff_point):
return string.split(cutoff_point, 1)[0]

当我在“结束模板”中加载它时,行为符合预期。如果 time = 19:30:12.123456 那么 {{ time|cut:'.' }} 返回 19:30:12。当我在 base.html 中加载它时,返回值是 19:30:12123456,与输入相同,但没有“截止点”。

有人知道为什么吗?

最佳答案

您应该将 {% load ... %} 放置在要使用自定义标记或过滤器的每个模板中。

在你的情况下,调用过滤器cut也不是一个好主意,因为这个过滤器already exists (它被用来从你的字符串中剪下一个点)。

关于Django:在使用模板继承时在基本模板文件中加载自定义过滤器时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10427257/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com