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 条评论
登录 后参与评论

相关文章

来自专栏酷玩时刻

微信扫码支付(模式一)微信扫码支付(模式一)

官方文档地址:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_4

1973
来自专栏平凡文摘

JDK 10 的 109 项新特性

1042
来自专栏猿人谷

堆和栈的区别

堆和栈的区别 一般认为在c中分为这几个存储区 1栈 - 有编译器自动分配释放 2堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收...

1975
来自专栏CDA数据分析师

Python 异常处理完整指南

年前我写了一篇文章 Python classic, static, class and abstract methods,现在似乎到了更新的时候,今天我想来剖析...

38910
来自专栏Python疯子

Python selenium — 一定要会用selenium的等待,三种等待方式解读

很多人在群里问,这个下拉框定位不到、那个弹出框定位不到…各种定位不到,其实大多数情况下就是两种问题:1 有frame,2 没有加等待。殊不知,你的代码运行速度是...

1481
来自专栏Java帮帮-微信公众号-技术文章全总结

【Java提高十四】异常

Java的基本理念是“结构不佳的代码不能运行”!!!!! 大成若缺,其用不弊。 大盈若冲,其用不穷。 在这个世界不可能存在完美的东西,不...

3414
来自专栏黑泽君的专栏

(正)斜杠 与 反斜杠

在 Windows 系统中,正斜杠/ 表示除法,用来进行整除运算;反斜杠\ 用来表示目录,例如:E:\学习资料\java\传智播客_2015年Java基础视频-...

2732
来自专栏Golang语言社区

Node.js新手必须知道的4个JavaScript概念

如果只需要知道一种编程语言就可以构建一个全栈的应用程序,是不是特别了不起?Ryan Dahl为了把这个想法成为现实,创造了node.js。Node.js是建立在...

2964
来自专栏SDNLAB

《P4语言规范》parser详解

前言 为深入研究P4语言相关规范及运行操作使用,本系列文章根据P4.org网站给出的《The P4 Language Specification v1.0.2》...

3999
来自专栏tkokof 的技术,小趣及杂念

HGE系列之六 管中窥豹(资源管理)

记的上次浮光掠影的讲了一些HGE中的基础类别,不知大家了解了多少,仔细看过的朋友肯定知道当时在讲述一个类别的构造函数时我打了个马虎,直接略过了,原因说的好像是...

791

扫码关注云+社区

领取腾讯云代金券