django人类可读性
一些Django的‘奇技淫巧’就存在于这些不起眼的地方。
为了提高模板系统对人类的友好性,Django在django.contrib.humanize中提供了一系列的模板过滤器,有助于为数据展示添加“人文关怀”。
需要把django.contrib.humanize添加到INSTALLED_APPS设置中来激活这些过滤器。然后在模板中使用{% load humanize %}标签,就可以使用下面的过滤器了。
一、 apnumber
对于数字1~9,返回英文单词,否则返回数字本身。 这遵循了出版图书的格式。
例如:
- 1 会变成one。
- 2 会变成 two。
- 10 会变成 10。
可以传递整数,或者整数的字符串形式。
二、intcomma
将整数或浮点数(或两者的字符串表示形式)转换为每隔三位数字包含逗号的字符串。这在财务报表中很有用。
例如:
- 4500 会变成 4,500。
- 4500.2变为4,500.2。
- 45000 会变成 45,000
- 450000 会变成 450,000。
- 4500000 会变成 4,500,000。
如果启动了Format localization,还将遵循用户本地国家标准。例如,在德语('de')中:
- 45000 会变成 '45.000'。
- 450000 会变成 '450.000'。
三、intword
将大整数(或整数的字符串表示形式)转换为友好的文本表示形式。适用于超过一百万的数字。
例如:
- 1000000 会变成 1.0 million。
- 1200000 会变成 1.2 million。
- 1200000000 会变成 1.2 billion。
支持高达10的100次方 (Googol) 的整数。
如果启动了Format localization,还将遵循用户本地国家标准。例如,在德语('de')中:
- 1000000 会变成 '1,0 Million'。
- 1200000 会变成 '1,2 Million'。
- 1200000000 会变成 '1,2 Milliarden'。
四、naturalday
对于当天或者一天之内的日期,返回“today”,“tomorrow”或者“yesterday”的表示形式,视情况而定。否则,使用传进来的格式字符串进行日期格式化。
例如(“今天”是2007年2月17日):
- 16 Feb 2007 会变成 yesterday。
- 17 Feb 2007 会变成 today。
- 18 Feb 2007 会变成 tomorrow。
其它的日期,还是按照传统的方法展示。
五、naturaltime
对于日期时间的值,返回一个字符串来表示多少秒、分钟或者小时之前。如果超过一天之前,则回退为使用timesince格式。如果是未来的日期时间,返回值会自动使用合适的文字表述。
例如(“现在”是2007年2月17日16时30分0秒):
17 Feb 2007 16:30:00 会变成 now。
17 Feb 2007 16:29:31 会变成 29 seconds ago。
17 Feb 2007 16:29:00 会变成 a minute ago。
17 Feb 2007 16:25:35 会变成 4 minutes ago。
17 Feb 2007 15:30:29 会变成 59 minutes ago。
17 Feb 2007 15:30:01 会变成 59 minutes ago。
17 Feb 2007 15:30:00 会变成 an hour ago。
17 Feb 2007 13:31:29 会变成 2 hours ago。
16 Feb 2007 13:31:29 会变成 1 day, 2 hours ago。
16 Feb 2007 13:30:01 会变成 1 day, 2 hours ago。
16 Feb 2007 13:30:00 会变成 1 day, 3 hours ago。
17 Feb 2007 16:30:30 会变成 30 seconds from now。
17 Feb 2007 16:30:29 会变成 29 seconds from now。
17 Feb 2007 16:31:00 会变成 a minute from now。
17 Feb 2007 16:34:35 会变成 4 minutes from now。
17 Feb 2007 17:30:29 会变成 an hour from now。
17 Feb 2007 18:31:29 会变成 2 hours from now。
18 Feb 2007 16:31:29 会变成 1 day from now。
26 Feb 2007 18:31:29 会变成 1 week, 2 days from now。
六、ordinal
将一个整数转化为它的序数词字符串。
例如:
- 1 会变成 1st。
- 2 会变成 2nd。
- 3 会变成 3rd。
django人类可读性的更多相关文章
- 模版层Template layer
每一个Web框架都需要一种很便利的方法用于动态生成HTML页面. 最常见的做法是使用模板. 模板包含所需HTML页面的静态部分,以及一些特殊的模版语法,用于将动态内容插入静态部分. 说白了,模板层就是 ...
- Django 配置文件settings注解(含静态文件和上传文件配置)
基于Django1.11配置文件settings.py import os import sys # Build paths inside the project like this: os.path ...
- 环境配置(pycharm+virtualenv+git+github等)
本文转载自https://blog.csdn.net/xiaogeldx/article/details/87315081 铺垫 数据表示方式 - 计算机使用二进制作为自己的机器语言也就是数据的表示方 ...
- Xdebug文档(四)函数跟踪
Xdebug能让你把所有函数调用,包括参数和返回值以不同的格式记录到文件中. 这些号称“函数跟踪”功能能帮助你面对一个新应用程序,亦或者在程序运行时你想弄清楚它在做什么.函数跟踪功能可以选择性地显示函 ...
- Xdebug文档(三)堆栈跟踪
当xdebug激活时,PHP一旦要显示通知.警告或错误时,xdebug 显示堆栈跟踪信息.这个堆栈信息能跟据你的需要来配置显示. Xdebug显示的堆栈跟踪都是以保守数量状态显示信息.因为大量的信息处 ...
- python学习笔记系列----(五)输入和输出
这一章主要是讲述程序展示其数据的一些方法,一般都是直接按照一定的格式输出在屏幕,或者写入到文件以便以后使用.按照一定格式的输出,在python中实际就是对str的操作,主要就是介绍了formart() ...
- linux查看磁盘系统df,du
可以用df命令轻松地查看所有已挂载磁盘的使用情况 df df -h 把输出的文件单位换成文件可读的单位 du 命令显示特定目录的使用情况 du -c 显示总用量 du -h 人类可读性 du -s 每 ...
- NuSOAP与PHPRPC比较(转)
因为看到有人问 Nusoap 和 PHPRPC 的比较,为了让大家能够更清楚地了解 Nusoap 和 PHPRPC 的关系,所以在这里做一个简要的说明性介绍,所写的内容也不是面面俱到的,只写了一些主要 ...
- 19.python的编码问题
在正式说明之前,先给大家一个参考资料:戳这里 文章的内容参考了这篇资料,并加以总结,为了避免我总结的不够完善,或者说出现什么错误的地方,有疑问的地方大家可以看看上面那篇文章. 以下说明是针对于pyth ...
随机推荐
- strcpy和memcpy,memmove函数的区别
strcpy和memcpy的区别 strcpy和memcpy都是标准C库函数,它们有下面的特点. strcpy提供了字符串的复制.即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制 ...
- 学写网页 #06# table
A B E C D <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> & ...
- torchvision.datasets.ImageFolder数据加载
ImageFolder 一个通用的数据加载器,数据集中的数据以以下方式组织 root/dog/xxx.png root/dog/xxy.png root/dog/xxz.png root/cat/12 ...
- centos 7上nginx+uwsgi 性能调优
上一章将nginx +uwsgi搭建起来,将keystone挂载后面.但是发现一个问题,如果http请求达到一定量后,nginx直接返回502.这让需要部署大规模openstack集群的我很是头疼,比 ...
- PHP图片裁剪与缩放示例(无损裁剪图片)
<?php /* *exif_imagetype -- 判断一个图像的类型 *功能说明:函数功能是把一个图像裁剪为任意大小的图像,并保持图像不变形 *参数说明:输入 需要处理图片的 文件名,生成 ...
- VMware环境安装MacOS
环境: win10专业版 VMware 14 Pro 开始吧 1. 停止服务 2. 解压并管理员权限运行unlocker,目的是使得 win10 环境下的 VMWare14Pro 支持 mac 系统的 ...
- fjwc2019 D1T3 不同的缩写(dinic+trie+dfs)
#180. 「2019冬令营提高组」不同的缩写 乍看之下没有什么好的方法鸭.......于是考虑暴力. 长度?二分似乎可行. 于是我们二分最长子串的长度(设为$len$),蓝后暴力查找. 先在每个串内 ...
- android样式之按钮&&图片
在drawable-hdpi中添加xml文件 <?xml version="1.0" encoding="utf-8"?> <selector ...
- gitlab服务器迁移
公司更换了新的服务器,需要把原先的gitlab迁移到新的服务器上. 1.迁移准备工作和思路:从a服务器迁移到b服务器,由于Gitlab自身的兼容性问题,高版本的Gitlab无法恢复低版本备份的数据,需 ...
- win10 实现 iPad AVplayer 搭建 ftp 共享 PC 端
1.首先是 iPad 端直接去 App Store 下载 AVplayer 即可,我下载的时候这个APP收费 18 元.这个app内置了加速播放视频的功能,非常适合学习时使用. 2.PC 端搭建 ft ...