django のテンプレートをカスタマイズすることができた。
(django template にカスタム filter を追加することができた)
-- templatefilters.py
#!-*- coding:utf-8 -*-
# import the webapp module
from google.appengine.ext import webapp
import datetime
# get registry, we need it to register our filter later.
register = webapp.template.create_template_register()
def truncate(value,maxsize,stopper = '...'):
""" truncates a string to a given maximum
size and appends the stopper if needed """
stoplen = len(stopper)
if len(value) > maxsize and maxsize > stoplen:
return value[:(maxsize-stoplen)] + stopper
else:
return value[:maxsize]
def timeJST (value):
# return value - datetime.timedelta(hours=18)
return value + datetime.timedelta(hours=9)
# SDK102 にしたら動作がかわった???
register.filter(truncate)
register.filter(timeJST)
-- index.html
{{ greeting.date|timeJST|date:"Y/m/d H:i:s" }}
-- helloworld.py
webapp.template.register_template_library( 'templatefilters')
参照元
- Django: Custom tag libraries?
http://groups.google.com/group/google-appengine/browse_thread/thread/41ddd1a0cce0a81d?hl=en - Using custom django template helpers with Google APP Engine
http://daily.profeth.de/2008/04/using-custom-django-template-helpers.html