我的表中有一个字段时间戳,类型为long我希望以Django datetime的形式显示它(我将时间戳转换为datetime格式),以及同一对象的一些其他属性,使用sqlalchemy2 .7和django1.3。
views.py
result = session.query(Member).order_by(desc(Member.timestamp))
for instance in session.query(Member).order_by(desc(Member.timestamp)):
time = instance.timestamp/1000 # 1314788935874
print datetime.fromtimestamp(time) # 2011-08-31 06:08:55
return render_to_response('Member/MemberData.html',{'result': result},context_instance=RequestContext(request))
MemberData.html
{% for instance in result %}
<li>
{{instance.timestamp}} :: {{instance.name}} :: {{instance.age}}
</li>
{% endfor %}
现在出类似:
1314788935874 :: James :: 21
1314788935874 :: John :: 20
............................
............................
我需要输出如:
2011-08-31 08:32:16 :: James ::21
2011-08-31 06:08:55 :: John :: 20
............................
............................
多数民众赞成我想把'time'变量传递给模板,我怎样才能以最小的努力传递它
注意:我希望传递转换后的时间戳和对象的其他一些属性而不做任何更改。
请提出一些标准化的方法,提前致谢。
答案 0 :(得分:4)
创建自己的template filter:
@register.filter
def from_timestamp(value):
return datetime.fromtimestamp(value/1000)
并在模板中:{{ instance.timestamp|from_timestamp|date:"Y-m-d H:i:s" }}
或强>
views.py:
result = session.query(Member).order_by(desc(Member.timestamp))
for instance in result:
time = instance.timestamp/1000
instance.datetimestamp = datetime.fromtimestamp(time)
return render_to_response('Member/MemberData.html',{
'result': result}, context_instance=RequestContext(request))
并在模板中:
{{ instance.datetimestame|date:"Y-m-d H:i:s" }}