You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django中渲染可读性更强的人性化日期?

实现Django模板中日期的人性化显示

当然可以!Django早就为这种人性化时间显示需求准备了现成的解决方案,不用自己从头写逻辑~

  • 第一步:启用humanize内置应用
    首先得在你的项目settings.py的INSTALLED_APPS里添加django.contrib.humanize,因为这个模块默认是不启用的:

    INSTALLED_APPS = [
        # 其他已有的应用...
        'django.contrib.humanize',
    ]
    
  • 第二步:在模板中加载humanize标签库
    在你要渲染日期的模板文件顶部,添加加载指令:

    {% load humanize %}
    
  • 第三步:使用naturaltime过滤器格式化日期
    把你原来的日期渲染代码替换成naturaltime过滤器:
    原来的代码可能是:

    published on {{ post.published_date|date:"F j, Y" }}
    

    替换成:

    published {{ post.published_date|naturaltime }}
    

这样就能自动输出类似published an hour ago、published 3 days ago或者published just now这种友好的格式了。如果你的发布日期是未来的时间(比如定时发布的内容),它还会自动显示in 2 hours、in 1 week这类表述,非常智能。

如果内置的naturaltime不符合你的特定需求,你也可以自定义模板过滤器,但对绝大多数场景来说,这个内置方案已经完全够用啦~

内容的提问来源于stack exchange,提问作者user9931820

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 00:27:42