我想在django模板中获取日期和时间的日期。
我的view.py
from django.utils import timezone
def get_user_specific_android_crave_one(request):
if request.method=="GET":
craves1=CraveData.objects.all().count()
if craves1==0:
html = render_to_string('crave/ajax/nocrave.html')
print html
return HttpResponse(html,mimetype="application/text")
else:
craves=list(CraveData.objects.all().order_by("-date"))
#fbUser = FacebookUser.objects.get(person=request.user)
#print fbUser.image
for crave in craves:
#fbUser = FacebookUser.objects.get(person=CraveData.facebookuser)
print crave
nc = timezone.now()
cc = crave.date
dc = nc-cc
secc=dc.seconds
hours = secc // 3600
secc = secc - (hours * 3600)
minutes = secc // 60
lastc = '%s hours %s minutes ago' % (hours, minutes)
reply= list(Comment.objects.filter(crave=crave))
print reply
for repl in reply:
crave.reply = reply
html = render_to_string('crave/ajax/crave.html',{"craves":craves,"lastc":lastc})
return HttpResponse(html,mimetype="application/json")
我的crave.html是
<div>{% for crave in craves %}
{{crave.person}}{{ crave }}<br/>
{{lastc}}<!--------- To get date in days hours and minute format since crave made--------->
{% endfor %}
</div>
我在这里得到时间,但是对于所有的渴望,我得到的同样的东西像“两小时10分钟前”同样的所有渴望,因为我从视图获得相同的变量值。 我想在模板中知道如何将django的standered日期格式转换为我想要的日期格式。 我正在使用{{crave.time}}获得每个渴望的正确日期。但这是django的标准格式。我想显示像1天前,2小时前,20分钟前,取决于渴望的时间。 我在网上搜索了很多但没有获得相关数据。请帮帮我。
答案 0 :(得分:3)
您可以使用naturaltime
,这是Django documentation。一个简短的例子:
{% load humanize %}
{{ datimeobject|naturaltime }}
它会显示29 seconds ago
或1 week, 2 days from now
。
请注意,您需要加载人性化