とりあえず、暫定的に日本時間で表示されるようにした。

google app engineは通常だと標準時間の表示になります。

つまり日本時間-9時間になります。

そこで、本当はtz_info等を利用してちゃんとするべきなのですが、暫定的に

PaymentInfo(支払い情報)モデルクラスにjapan_timeメソッドを追加し、djangoのテンプレート側でそれを呼んであげることで、PaymentInfo.dateの日付情報を+9時間して表示するようにしました。

まず最初にmodels.pyの該当部分ですが、コメントで解説しています。

class PaymentInfo(db.Model):
author = db.UserProperty()
title = db.StringProperty()
value = db.IntegerProperty()
date = db.DateTimeProperty(auto_now_add=True)
#ここで、japan_timeというメソッドを追加しておき、dateプロパティの値に9時間足しています。
def japan_time(self):
return self.date + datetime.timedelta(hours=9)

そして、django側の該当部分ですが、

{% for value in outputValues  %}
<tr>
{# value.japan_timeとすることで、PaymentInfoで定義したメソッドを呼ぶようになっています。#}
<td>{{ value.japan_time }}</td>
<td>{{ value.title|escape }}</td>
<td>{{ value.value }}</td>
</tr>
{% endfor %}

ちなみに、今までイメージを貼ってませんでしたが、お小遣い帳のイメージはこんな感じです。

f:id:NAL-6295:20080708012444p:image

Share