Django 在模型中应用日期格式
Django Applying a date formatting in a model
我希望应用此行为(从模板中提取):
object.my_date|date:"F Y"
但在模型中。
是否可以直接在模型中使用预定义的模板标签?还是我应该依赖 python 函数?
谢谢。
您可以直接在 python 代码中调用此过滤器:
from django.template.defaultfilters import date as date_filter
date = date_filter(object.my_date, "F Y")
我会在模型上公开一个 属性 来满足您的要求。模板标签并不是真正设计用于模板之外的(尽管它们当然可以,因为它们毕竟只是函数),而且使用它们意味着您的模型代码取决于视图特定代码,这并不理想(通常视图代码将取决于模型代码,而不是相反)。
@property
def my_date_formatted(self):
return self.my_date.strftime('%B %Y')
请注意,当使用 strftime
而不是模板标签时,指定日期格式的语法不同,在 http://strftime.org/.
有很好的参考
我希望应用此行为(从模板中提取):
object.my_date|date:"F Y"
但在模型中。 是否可以直接在模型中使用预定义的模板标签?还是我应该依赖 python 函数?
谢谢。
您可以直接在 python 代码中调用此过滤器:
from django.template.defaultfilters import date as date_filter
date = date_filter(object.my_date, "F Y")
我会在模型上公开一个 属性 来满足您的要求。模板标签并不是真正设计用于模板之外的(尽管它们当然可以,因为它们毕竟只是函数),而且使用它们意味着您的模型代码取决于视图特定代码,这并不理想(通常视图代码将取决于模型代码,而不是相反)。
@property
def my_date_formatted(self):
return self.my_date.strftime('%B %Y')
请注意,当使用 strftime
而不是模板标签时,指定日期格式的语法不同,在 http://strftime.org/.