专栏首页JackeyGao的博客Django小技巧02: humanize

Django小技巧02: humanize

翻译整理自: simpleisbetterthancomplex.com

Django 附带一组模板过滤器, 可为您的数据添加人性化选项。它用于将数字或者日期转化为人类友好可读的格式.

就我个人来说, 我使用模板过滤器naturaltime非常频繁。 比如我在2018-10-25 11:33:24定了个外卖, 在等待外卖的过程中, 订单页面的时间显示为21 minutes ago(考虑到目前是2018-10-25 11:54:46) 更好友好一点, 我能清楚的知道我等待了多长时间。 而不是2018-10-25 11:54:46这样的时间, 让我再计算一遍.

使用方法也非常简单:

settings.py INSTALLED_APPS 加入django.contrib.humanize.

Python

INSTALLED_APPS = [
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'django.contrib.humanize',
]

然后在 template 中, 载入此 APP 下的标签。

Django/Jinja

{% load humanize %}

使用过滤器也非常简单, 比如使用naturaltime过滤器.

Django/Jinja

{% extends 'base.html' %}

{% load humanize %}

{% block content %}
  <ul>
    {% for notification in notifications %}
      <li>
        {{ notification }}
        <small>{{ notification.date|naturaltime }}</small>
      </li>
    {% empty %}
      <li>You have no unread notification.</li>
    {% endfor %}
  </ul>
{% endblock %}
  • 功能表

过滤器

作用

举例

apnumber

英文数字

1 => one

intcomma

三位逗号数字

4500000 => 4,500,000

intword

文本数字

4500000 => 4.5 million

naturalday

友好的日期

2018-10-24 => yesterday

naturaltime

友好的时间

2018-10-25 12:00:01 => a minute ago.

ordinal

序数字符串

3 => 3rd

阅读更多关于humanize的文档. Django Documentation

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python 高级并发2

    根据编程逻辑一般需要计算密集和I/O操作密集的时候选择并发提高程序效率, Python 由于GIL的限制,密集性运算需要使用多核心CPU时候, 这时候多线程显得...

    用户1416054
  • Python 和 Golang 一点愚见

    Python 之所以有很好开发效率是因为语法简单,灵活。有大量的轮子可供选择, 文档支持非常棒。 我用Python编程的时候,基本成了一把梭“拿起键盘复制粘贴,...

    用户1416054
  • Python 高级并发

    就是直接用『原子操作』(atomic operation)所实现的并发。这种并发是给程序库的编写者用的, 而应用程序开发者则不需要它,因为这种写法很容易出错,而...

    用户1416054
  • spring及springboot整合redis前言:一、整合前提:二、spring整合redis:三、springboot整合redis:总结:

    redis是一种nosql数据库,以<key,value>的形式存储数据,其速度相比于MySQL之类的数据库,相当于内存读写与硬盘读写的差别,所以常常用作缓存。...

    贪挽懒月
  • 周末聚会一定用得上!有了这款小程序,人少也能痛快狼人杀

    狼人杀,一场欺骗、谎言、怀疑、背叛、诱导言论与思考的艺术......在这场智力、逻辑与口才的博弈之中,体制外的法官就是上帝。他洞悉一切、掌控全局,为玩家们尽心营...

    知晓君
  • scratch生成1-10随机不相同的10个数字

    生成10个随机数很简单,循环10次,循环里面每次获取一次1-10范围内的一个随机数。

    用户7054460
  • 做一个有脑子的程序员

    程序员是最理性的一个群人,除非面对电子产品的时。 程序员是一群高智商的群体,唯一的缺点就是发际线总是很难防守。 程序员是一群情商比较低的人群,常常看到程序员仅仅...

    纯洁的微笑
  • 1、Redis服务搭建 2、为功能添加缓存功能

    2.redis介绍 2.1.什么是redis Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应...

    爱明依
  • 同样是程序员为啥差距那么大?

    号称10x的程序员根本不存在。反对观点一般分为以下三种: 最初10x这个数字来自一个研究(Sackman,Erikson, and Grant (1968))...

    程序员互动联盟
  • 以一当十的程序员不是传说

    昨晚,我发了下面的微博: 有些人议论所谓“10x”或者“超级”的程序员都是传说。可那些著名运动员,艺术家,作家,呃,还有摇滚明星的都是神话吗? — Yev...

    用户1410343

扫码关注云+社区

领取腾讯云代金券