我正在尝试为django admin list_display创建一个定义,但日期过滤器不支持时区。如果我在list_display中只有updated_date
字段,则时间是正确的。
def get_edited_by(self):
return u"%s %s - %s" % (self.edited_by.first_name, self.edited_by.last_name,
defaultfilters.date(self.updated_date, 'SHORT_DATETIME_FORMAT'))
输出为:Bob Bobson - 26.02.2014 18:27
(关闭一小时)
仅updated_date
的输出为:26. februar 2014 19:27
(正确)
任何人都知道如何让defaultfilters.date
时区知道吗?
我的设置:
TIME_ZONE = 'Europe/Oslo'
USE_I18N = True
USE_L10N = True
USE_TZ = True
pytz==2013.9
Django==1.6.2
试过这个
from django.utils.dateformat import DateFormat
def get_edited_by(self):
return u"%s %s - %s" % (self.edited_by.first_name, self.edited_by.last_name, DateFormat.format(self.updated_date, "SHORT_DATETIME_FORMAT"))
但是我收到了这个错误:unbound method format() must be called with DateFormat instance as first argument (got datetime instance instead)
from django.utils import date format
def get_edited_by(self):
return u"%s %s - %s" % (self.edited_by.first_name, self.edited_by.last_name, dateformat.format(self.updated_date, 'SHORT_DATETIME_FORMAT'))
提供此输出:Bob Bobsen - th23+0100RCET_onsPMCETFebruarCET0FebFebruar_februar+0100RFebPMCET