Django Numbers and Dates Using Humanize - human readable format
humanize It is used to translate numbers and dates into a human readable format.
To install Django Humanize, add django.contrib.humanize to your INSTALLED_APPS setting:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp',
'django.contrib.humanize',
]
Now in the template, load the template tags:
{% load humanize %}
#view.py
from django.shortcuts import render, redirect
import datetime
# Create your views here.
def index(request):
now = datetime.datetime.now()
context = {
'spellone' : 8,
'spellonetwo' : 1200000,
'tree' : 8569,
'four' : 85,
'now' : now,
'otherdate' : now + datetime.timedelta(days=1),
'otherdatetime' : now + datetime.timedelta(days=1),
'future' : now + datetime.timedelta(days=2542),
'past' : now - datetime.timedelta(days=30)
}
return render(request, 'index.html', context)
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp',
'django.contrib.humanize',
]
from django.contrib import admin
from django.urls import path
from myapp import views
urlpatterns = [
path('admin/', admin.site.urls),
path('',views.index),
]
//templates/base.html
<!DOCTYPE html>
<html lang="en">
<head>
{% load static %}
<link rel="stylesheet" type="text/css" href="{% static 'css/bootstrap.css' %}"/>
<meta charset="UTF-8" name="viewport" content="width=device-width, initial-scale=1"/>
<title>{% block title %}Django Numbers and Dates Using Humanize - human readable format{% endblock %}</title>
</head>
<body>
<nav class="navbar navbar-default">
<div class="container-fluid">
<a class="navbar-brand">Cairocoders</a>
</div>
</nav>
<div class="container">
<div class="col-md-12 well">
<h3 class="text-primary">Django Numbers and Dates Using Humanize - human readable format</h3>
<hr style="border-top:1px dotted #ccc;"/>
{% block content %}
{% endblock %}
</div>
</div>
</body>
</html>
//templates/index.html
{% extends 'base.html' %}
{% load humanize %}
{% block content %}
<h3>Spell : {{ spellone|apnumber}} </h3>
<h3>Spell : {{ spellonetwo|intword}} </h3>
<h3>Commas : {{ tree|intcomma}} </h3>
<h3>Ordinal : {{ four|ordinal}} </h3>
<h3>Now : {{ now|naturalday}} </h3>
<h3>Other Day : {{ otherdate|naturalday}} </h3>
<h3>Other Day Time : {{ otherdatetime|naturaltime}} </h3>
<h3>Future : {{ future }} </h3>
<h3>Past : {{ past }} </h3>
{% endblock %}
Read more on the official Django Documentation https://docs.djangoproject.com/en/dev/ref/contrib/humanize/
