在django模板中获取以小时和分钟为单位的日期

时间:2014-07-16 17:53:09

标签: python django

我想在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分钟前,取决于渴望的时间。 我在网上搜索了很多但没有获得相关数据。请帮帮我。

1 个答案:

答案 0 :(得分:3)

您可以使用naturaltime,这是Django documentation。一个简短的例子:

{% load humanize %}
{{ datimeobject|naturaltime }}

它会显示29 seconds ago1 week, 2 days from now

请注意,您需要加载人性化