我想在 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 分钟前”它对于所有的渴望都是一样的,因为我从 View 中得到了相同的变量值。 我想知道在模板中如何将 django 的标准日期格式转换为我想要的日期格式。 我正在使用 {{crave.time}} 为每个渴望找到合适的日期。但这是 django 的标准格式。我想显示 1 天前、2 小时前、20 分钟前,具体取决于对时间的渴望。 我在网上搜索了很多但没有得到相关数据。请帮助我。
请您参考如下方法:
你可以使用naturaltime,这里是Django documentation .一个简短的例子:
{% load humanize %}
{{ datimeobject|naturaltime }}
它将显示类似29 秒前 或1 周,2 天后。
注意需要load humanize
