Django在模型中应用日期格式

时间:2015-01-07 09:14:46

标签: python django date

我希望应用此行为(从模板中提取):

object.my_date|date:"F Y"

但在模型中。 是否可以直接在模型中使用预定义的模板标签?或者我应该依赖python函数吗?

感谢。

2 个答案:

答案 0 :(得分:1)

您可以在python代码中调用此过滤器:

from django.template.defaultfilters import date as date_filter

date = date_filter(object.my_date, "F Y")

答案 1 :(得分:1)

我会在模型上公开一个属性,以满足您的需求。模板标签并非真正设计为在模板之外使用(当然它们可以因为它们只是函数),而且使用它们意味着您的模型代码依赖于视图特定代码,这是不理想的(通常视图代码将取决于型号代码,而不是相反的方式)。

@property
def my_date_formatted(self):
    return self.my_date.strftime('%B %Y')

请注意,使用strftime代替模板标记时,指定日期格式的语法不同,http://strftime.org/处有一个很好的参考。