2008年4月26日土曜日

Google App Engine / django template カスタムタグ


  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')

参照元

Migration Python2.7への移行

1. 以前のプログラムのソースをダウンロードして、 app.xml を変更して deployする 503 python -V // まず Mac にインストールされている python のバージョンを確認 504 pwd 505 curl https://sdk.cl...