前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django小技巧02: humanize

Django小技巧02: humanize

作者头像
用户1416054
发布2018-12-04 09:44:03
1.5K0
发布2018-12-04 09:44:03
举报
文章被收录于专栏:JackeyGao的博客

翻译整理自: 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

代码语言:javascript
复制
INSTALLED_APPS = [
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'django.contrib.humanize',
]

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

Django/Jinja

代码语言:javascript
复制
{% load humanize %}

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

Django/Jinja

代码语言:javascript
复制
{% 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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档