在Django中,我希望在所有模板中为特定类型的所有变量使用特定的过滤器。在
例如,假设我想使用一个过滤器,根据用户设置将日期转换为Jalali日历。在本例中,我希望这个过滤器应用于我将在模板中使用的所有日期变量。在
我有一个模板叫做基本.html我所有的模板都扩展了它。在
如何做到这一点?在
更新:我将用一个例子来阐明我到底想做什么。在
我有一个名为Post的模型,它的字段名为publish_date
。像这样的东西。在
class Post(models.Model):
title = models.CharField()
content = models.TextField()
publish_date = models.DateTimeField(auto_now_add=True)
现在,当我使用模板输出一篇文章时,我希望我的所有帖子publish_date
和模板中所有其他变量,这些变量表示要使用一个名为jalali_date
的过滤器进行过滤。我要格式化某物的日期。在
我知道如何使用自定义标记和过滤器,但我不知道如何使用它们来完成类似的事情(如果可以使用它们来实现)。在
更新2: 只是为了更清楚:我已经写了jalali_日期过滤器。问题是如何将它自动应用到我模板中的所有日期变量。在
如果您想通过自定义过滤器来实现这一点,请阅读关于过滤器here,下面的代码也许可以帮助您:
然后在template中可以使用类似于下面的内容(假设templatetag文件nam是jdate):
^{pr2}$但是如果您想自动识别并更改某些类型的值,则必须使用^{} (而不是过滤器),请阅读有关自定义
MiddleWare
here的代码片段。在注意:要使用非内置过滤器,必须在
INSTALLED_APPS
中添加容器应用程序。在相关问题 更多 >
编程相关推荐