【发布时间】:2015-09-20 15:25:43
【问题描述】:
在 Django 中,我想在我的所有模板中为特定类型的所有变量使用特定过滤器。
例如,假设我想使用一个过滤器,在必要时根据用户设置将日期转换为 Jalali 日历。在这种情况下,我希望将此过滤器应用于我将在模板中使用的所有日期变量。
我有一个名为 base.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_date 过滤器。问题是如何将它自动应用于我的模板中的所有日期变量。
【问题讨论】:
-
我假设你已经从 django 搜索了现有的内置模板标签。我建议您阅读有关创建自定义模板标签here
标签: python django django-templates django-template-filters