主にプログラミングに関して。Python, .NET Framework(C#), JavaScript, その他いくらか。
記事にあるサンプルやコードは要検証。使用に際しては責任を負いかねます

スポンサーサイト

                
tags:
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

GoogleAppEngineがPython2.7に対応したので切り替える その2

                
tags:
http://elicon.blog57.fc2.com/blog-entry-113.html

前回に続いてGAEでデータストアとテンプレートを使っているアプリのPythonを2.5から2.7に...と思ったけど特段やらなければならないことはなかった。今まで通りにテンプレートをDjangoのままにしたら問題なく使えた、当たり前だが。

だが、テンプレートをDjangoから、新しく組み込まれたjinja2にしてみるのもいい。

http://code.google.com/intl/en/appengine/docs/python/gettingstartedpython27/templates.html
というわけで↑を参考にやってみたが、Djangoとjinja2にはぼちぼち違いがあった。Djangoはデフォルトでオートエスケープ、jinja2はそうではない。データストアから引き出したキーをHTMLに記述するとき、"{{hoge.key}}"としていたものを"{{hoge.key()}}"にしたり。"class Entry(db.Model)"を定義しておいたのに、データストアクエリ"Entry.get(key)"が使えなかったり(db.get(key)で回避したけどなんでこんなことが...)。

あとデコレータを使って、Googleにログインしたユーザにしかページを見せられなくするのがwebappモジュールにあった。webapp2では"from webapp2_extras.appengine.users import login_required"で使えるようになる。公式ドキュメントに現時点では載っていないようなので使う場合は留意。
            

コメントの投稿

非公開コメント

プロフィール

hMatoba

Author:hMatoba
Github

最新記事
リンク
作ったものなど
月別アーカイブ
カテゴリ
タグリスト

検索フォーム
Amazon
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。