Google App EngineでDjangoを使う Part3
Google App Engineで、フレームワークとしてDjangoを使うときの手順や設定などのメモその3。
App EngineはデータベースレイヤがMySQLでもSQLiteでもない(そもそもRDBではない)ので、Djangoのモデルクラスのライブラリを使用できません。App EngineのDatabase APIをラップしてDjangoのモデルクラスとして利用できるライブラリを誰かが作ったみたいですが、そこまでするほどでもないならApp Engineのモデルクラスをそのまま利用すればいいと思います。そのかわりDjangoのモデル周りの便利機能は使えません。Admin画面とか各種関数とか。
ついでにUTCからJSTに変換する応急処置のコードも追加しました。
[models.py]
import datetime from google.appengine.ext import db class Bookmark(db.Model): uri = db.StringProperty() title = db.StringProperty() pub_date = db.DateTimeProperty(auto_now_add=True) class Comment(db.Model): reference = db.ReferenceProperty(Bookmark) comment = db.StringProperty(multiline=True) date = db.DateTimeProperty(auto_now_add=True) def jst_date(self): #UTC -> JSTを表示するための応急処置 return self.date + datetime.timedelta(hours=9)
そんなわけでDjangoのチュートリアルがそのまま適用できない部分が多いので少し苦労しましたが、一応動くサンプルを作ってみました。
- サンプル
- ソースコード
(Pythonを初めて触って2日なのでいろいろとマズいところはあると思います。あんまり参考にしない方が…)