Django
先週に投稿したエントリで、Google App EngineではDjango0.96しか使えないようなことを書いたのですが、ちゃんと調べてみると、現在のGoogle App EngineではDjangoの1.1および1.0.2のバージョンも使用できることがわかりました。英語のドキュメントにしか載…
DjangoのTemplateでは、{% for a in list %}...{% endfor %}を使うことで、リストの内容を順番に処理していくことができます。 それと同じように、ディクショナリに登録されている内容を順番に表示させようと考えたのですが、 Google App Engine のDjangoの…
前回で、TODOタスクに状態を持たせることができました。今度は、その状態の表示と、状態変化のロジックを実装することにします。まず、TODOタスクの状態変化処理用のメソッドを用意します。/todo/views.py def update_task_status(request): if not request.…
これまでTODOタスクは追加と削除だけができるものでしたが、実際にTODO管理をしようとすると、それがどういう状況なのかを記録したくなると思います。といっても、あまり複雑にするとややこしくなるので、以下の4つの状態をとれるということにします。 未着…
それでは、メールによる締切通知部分を作成しようと思います。まず、締切時にメールを送信する設定になっていて、かつ、締切を過ぎているのにまだメールを送信していないTODOタスクを抜き出します。 now = datetime.datetime.today() now += datetime.timede…
前回で、TODOタスクの追加と一覧までは実現できたので、今回からは編集と削除処理を作っていきます。削除処理については、汎用ビューのdjango.views.generic.create_update.delete_objectを使います。利用手順としては、まず、views.pyに削除処理用のメソッ…
ちょっと意味のあるアプリケーションとして、TODO管理機能を作っていくことにします。Djangoと同じく、以下のコマンドでアプリケーションが生成されます。 manage.py startapp todoこれによりtodoフォルダができますので、中身を確認すると、以下のファイル…
app-engine-patchにおいてもModelはGoogleのモデルを使うようなので、前のアクセスカウンタ用のモデルをそのまま流用します。前回からの変更点として、views.pyを新たに生成し、カウンタアップのロジックをここに移動させました。views.py # -*- coding: utf…
GettingStartedと、Unleash Django with app-engine-patchの記事を見て、app-engine-patchの使い方を理解しようとするも、分ったような分からないような。やっぱり実際に試してみないとよくわかりませんね。というわけで、やってみます。まず、Downloads app…
そろそろなんらかの動きのあるアプリケーションを作りだそうと思ったのですが、このままgoogle.appengine.ext.webappパッケージを使ってゴリゴリと書いていっていいのかとちょっと悩みました。躊躇した点は、以下。 webappパッケージを使い続けると、Google …