このサイトについて

App Engineで動く画像掲示板(Twitter認証付き)を作ってみた

App Engineで動く画像掲示板(Twitter認証付き)を作ってみた

microneを作ってみたのだけど,もうちょっと実践的なアプリを作った方がいいかな〜,と思ったので,画像掲示板を作ってみた。microneimageboardといいます。Twitterアカウントで認証をし,画像を投稿できます。

使い方

ここからブートストラップを取ってくる。

buildout.cgfの50行目あたり,「aha」「aha.plugin.microne」「aha.plugin.twitteroauth」を消して,「aha.application.microneimageboard」に置き換える。また,app/application.pyというファイルを消す。

「python bootstrap.py」を実行。その後,「bin/buildout」して,環境を構築。

Twitterのアプリを登録。Application TypeはBrowser。開発時はCallback URLを「http://127.0.0.1:8080/oauth」などにしておくとよい(もちろん,デプロイ時には変える)。consumer keyなどをapplication.pyの14行目「initConfig(app, ...)以下に埋め込む。また,app.yamlの「handlers:」の行の直下に「- url: /asset」と「static_dir: asset/」という2行を足して,cssを読み込ませる設定をする。

あとは「bin/dev_appserver app」で開発サーバを起動。Webブラウザで「http://localhost:8080/」にアクセスすると,開発環境のアプリケーションにアクセスできる。

 

microneやaha,プラグインを微妙に機能強化した。特にmicroneは,キャッシュやセッション,cookieを扱えるようになったり,リクエスト,レスポンスなどのオブジェクトをテンプレートに暗黙に渡すようになったりと,いろいろ機能を追加した。コードにドキュメントを足したりもした。

microneimageboardを作っていた時間は2時間くらいかな? モデルとかコントローラ全部一つのファイルにベタッと書いて,docstringとかかなり真面目に書いて,行数は170行弱。App Engineにデプロイすれば簡単に画像掲示板が立ち上がるし,閲覧/投稿できるユーザを制限したりといった改造も簡単なはず。とりあえず画像の並び順にソートが掛かってないので,そのあたりから直すといいかも。余裕があればページネーションを追加したりしてもいい。

また,microneを使ってどんなことができるのか,どう使えばいいのかを知るためのサンプルとしても使えるかも。

Have fun :-)。

2011-04-04 05:28