カスタムフィルター

カスタムフィルターはテンプレートの内容になんらかの変更を行うときに使います。
例えばwikiの文章のなかに

abcd[[test]]dcba

のような記述があったときに

abcd<a href="/wiki/test/">test</a>bcda

と変換させたいときは

テンプレートを以下のようにして

{% load wikitags %}
{{ page.title }}
    <h1>{{ page.title }}</h1>
    <div class="body">
        {{ page.body|wikify }}
    </div>

カスタムフィルターを以下のようにすると良い。
/myproject/wiki/templatetags/wikitags.py

from django.template import Library
from django.conf import settings

register = Library()

@register.filter
def wikify(value):
	"""Makes WikiWords"""
	import re
	wikifier = re.compile("\[\[(.+?)\]\]")
	return wikifier.sub(r'<a href="/wiki/\1/">\1</a>', value)

テンプレートの

{% load wikitags %}

でtemplatetagsのwikitagsを読み込み

{{ page.body|wikify }}

でwikitagsのwikifyという関数にpage.bodyを引数で渡すことによって正規表現で書き換えられた文字列が返ってきます。

参考(というかそのまま)
http://e-scribe.com/news/171