Creating a default DATETIME_FORMAT filter for django

mikechambers May 2nd, 2008

Here is a simple django template filter that will format a date according to the DATETIME_FORMAT variable in the settings file.

from django import template
from settings import DATETIME_FORMAT
from django.template.defaultfilters import date

register = template.Library()

@register.filter
def default_datetime(value):
	try:
		v = date(value, DATETIME_FORMAT)
	except:
		return value

	return v

Save this in a file named default_date_filters.py and place it in a directory called templatetags in your application directory (along with a file named __init__.py.

You can then use the filter in a template like so:


{% load default_date_filters  %}

{% item.created_date|default_datetime%}

 

You can find more information and how to create and use custom template filters in django here and here. You can find information on django settings here.

One Response to “Creating a default DATETIME_FORMAT filter for django”

  1. Thomas Güttleron 04 Jul 2008 at 1:15 am

    Why does the template engine not use DATETIME_FORMAT per default?

Trackback URI | Comments RSS

Leave a Reply