django.contrib.humanize

一系列Django的模板过滤器,有助于向数据添加“人文关怀”。

把'django.contrib.humanize'添加到INSTALLED_APPS设置来激活这些过滤器。 执行以上步骤之后,在模板中使用{% load humanize %} ,你就可以访问到下面的过滤器了·。

基数词

对于数字1~9,返回拼写出来的数字。否则返回数字本身。这样遵循了出版的格式。

例如:

  • 1 会变成one。
  • 2 会变成 two。
  • 10 会变成 10。

你可以传递整数,或者整数的字符串形式。

整数间的逗号

将整数转化为字符串,每三位之间带一个逗号。

例如:

  • 4500 会变成 4,500。
  • 45000 会变成 45,000
  • 450000 会变成 450,000。
  • 4500000 会变成 4,500,000。

如果启动了格式本地化,将会被遵循。例如,在德语('de')中:

  • 45000 会变成 '45.000'。
  • 450000 会变成 '450.000'。

你可以传递整数,或者整数的字符串形式。

整数词组

将一个大的整数转化为友好的文字表示形式。适用于超过一百万的数字。

例如:

  • 1000000 会变成 1.0 million。
  • 1200000 会变成 1.2 million。
  • 1200000000 会变成 1.2 billion。

支持高达10的100次方 (Googol) 的整数。

如果启动了格式本地化将会被遵循。例如,在德语('de')中:

  • 1000000 会变成 '1,0 Million'。
  • 1200000 会变成 '1,2 Million'。
  • 1200000000 会变成 '1,2 Milliarden'。

你可以传递整数,或者整数的字符串形式。

自然日期

对于当天或者一天之内的日期, 返回“今天”,“明天”或者“昨天”,视情况而定。否则,使用传进来的格式字符串给日期格式化。

参数:日期的格式字符串在date标签中描述。

例如(其中“今天”是2007年2月17日):

  • 16 Feb 2007 会变成 yesterday。
  • 17 Feb 2007 会变成 today。
  • 18 Feb 2007 会变成 tomorrow。

其他日期按照提供的参数格式化,如果没提供参数的话,将会按照DATE_FORMAT 设置。

自然时间

对于日期时间的值,返回一个字符串来表示多少秒、分钟或者小时之前 —— 如果超过一天之前,则回退为使用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。

序数词

将一个整数转化为它的序数词字符串。

例如:

  • 1 会变成 1st。
  • 2 会变成 2nd。
  • 3 会变成 3rd。

你可以传递整数,或者整数的字符串形式。

Django模块的更多相关文章

  1. django模块安装环境变量

    django 模块 一 安装: 方法一: (在 JetBrains PyCharm 2017.2 软件的) 设置 (里找到) 项目:python +(添加) (搜索) django Install p ...

  2. Django模块导入

    Django模块导入篇 Django基础 urls.py 导入app中的视图函数 from app名字 import views app.view视图函数中导入models.py中的类 from ap ...

  3. Python19/1/11--标签与过滤器/Django模块导入继承/静态文件配置

      1 模板语言之变量: -{{ }} 相当于执行了print -深度查询 . 如果是方法,不能加括号,不能传参数2 过滤器 {{ 变量|过滤器的名字:'参数' }} -add -default -s ...

  4. Django 修改视图文件(views.py)并加载Django模块 + 利用render_to_response()简化加载模块 +locals()

    修改视图代码,让它使用 Django 模板加载功能而不是对模板路径硬编码.返回 current_datetime 视图,进行如下修改: from django.template.loader impo ...

  5. django 模块创建 同步数据表 使用方法

    1 配置数据库   100行左右 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 'NAME': 'student ...

  6. django模块导入/函数/中间件/MVC和MTV/CSRF

    目录 一:模块导入 二:函数 三:中间件 四:MVC和MTV 五:csrf 一:模块导入 第一种:继承 这里的母版更像是一个架子,子板都是定义的内容(如果多个页面中 ,存在相同的页面:这样我们可以抽到 ...

  7. Django模块学习- django-pagination

    实在是很简单的一个Django 的分页插件. 使用pip instal pagination 即可完成安装. 完成后配置如下: 1. 将安装文件中的 pagination 文件夹拷贝到项目的根目录下 ...

  8. 外部程序调用Django模块的解决办法

    Question django.core.exceptions.ImproperlyConfigured: Requested setting CACHES, but settings are not ...

  9. 从外部导入django模块

    import os import sys sys.path.append("D:\\pyweb\\sf"); # 项目位置(不是app) os.environ.setdefault ...

  10. ImportError: Couldn't import Django.或者提示Django 模块不存在

    ImportError: Couldn't import Django. 或者 多版本的python引起的,执行以下命令  即可解决问题 python3是新的版本的python python3 -m ...

随机推荐

  1. js 获取滚动条的高度

    function getScrollTop() { var scroll_top = 0; if (document.documentElement && document.docum ...

  2. 51 Nod 1070 Bash游戏v4(斐波那契博弈)

    这题的证明看不太懂,日后再重做... 1070 Bash游戏 V4  基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  关注 有一堆石子共有N个.A B两个 ...

  3. 图文并茂VLAN详解,让你看一遍就理解VLAN

    一.为什么需要VLAN 1.1.什么是VLAN? VLAN(Virtual LAN),翻译成中文是“虚拟局域网”.LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络.V ...

  4. python3 threading.Lock() 多线程锁的使用

    import threadingimport time lock = threading.Lock() #创建锁 def fun(data): try: lock.acquire(True) #锁定 ...

  5. Spring+shiro session与线程池的坑

    在java web编程中,经常使用shiro来管理session,也确实好用 shiro来获取session的方式 SecurityUtils.getSubject().getSession() 其中 ...

  6. redis基础操作概念等笔记

    Redis常用配置 daemonize ->是否是后台进程 port ->对外端口 logfile ->Redis 系统日志 dir ->Redis 工作目录 Redis的链接 ...

  7. 关于AngularJS与其他前端框架混合使用的思考

    AngularJS 是一个为动态WEB应用设计的结构框架,拥有双向数据绑定,模板,MVVM,依赖注入,指令5大优点,Angular最有诱惑力的就是数据绑定功能,使用MVC模式进行开发,Angular在 ...

  8. 单调队列优化dp,k次移动求最长路

    洛谷2254 给你k次移动 每次移动给你一个时间段 a,b和方向dir 地图上有障碍物 为了不撞上障碍物你可以施法让箱子停下来 问箱子可以走的最长路 ((以下是洛谷的题解)) /*首先考虑对于时间t来 ...

  9. Java获取当前时间及String、datetime、date相互转化

    一.获取当前系统时间和日期并格式化输出: import java.util.Date; import java.text.SimpleDateFormat; public class NowStrin ...

  10. Python 文件writelines() 方法和处理双层列表

    概述 writelines() 方法用于向文件中写入一序列的字符串. 这一序列字符串可以是由迭代对象产生的,如一个字符串列表. 换行需要制定换行符 \n. 语法 writelines() 方法语法如下 ...