Python

Pylons+memcacheDB...編集機能のテスト

忘れぬうちにテスト記述。 GETメソッドでsave()できないこと 存在しないデータのidでsave()できないこと PhoneBook以外の型をsave()できないこと 不正なフォーム入力の場合save()できないこと 上記以外の場合はsave()できること を確認すればいいでしょ。pho…

Pylons+memcacheDB...編集

次は編集フォームと、そのコントローラを記述。まずコントローラphone.pyに以下のメソッドを追加 def edit(self, id = None): if id is None: abort(404) ser = self.mc.get(id.encode('ascii')) if ser is None: abort(404) u = jsonpickle.Unpickler() pho…

Pylons+memcacheDB...忘れんうちにテスト記述

Pylonsはnoseというプログラムを使ってテストをする。本来はUnit Testに重きを置くのが好きなのだが、今回の方式ではPOPO(Plain Old Python Object)が相手なので特にやることがない。むしろ、コントローラが所望の動きをしているかどうかを確認することが大…

Pylons+memcacheDB...新規作成フォーム

まずは電話帳データを登録するフォームから作っていく。phonebook/lib/helpers.py from formbuild.helpers import field from formbuild import start_with_layout as form_start, end_with_layout as form_end from webhelpers.html.tags import * from rou…

Pylons+memcacheDB...モデル定義

次に電話帳データのモデルを定義する。といってもたいしたことはなく、普通のPythonオブジェクト(POPO)である。phonebook/model/__init__.pyに以下を追加。 import uuid class Phone(object): def __init__(self, mobile_number = None, name = None, addres…

Pylons+memcacheDB...コントローラ設置と、テンプレート配置

PylonsはRailsやDiangoみたいに /controller/method/id みたいなURLマッピングができる。すごい。ということで、電話帳は /phone/view/1 /phone/edit/1 /phone/delete/1 /phone/create みたいな感じでパスを設置する。といっても、Pylonsのコントローラはデ…

Pylons+memcacheDB...開発環境設定

サーバ上で開発する場合はここは不要。自分は開発サーバと開発端末が別なのでこれが必要だった。 PhoneBook/development.iniを編集 具体的には[server:main]の部分。 [server:main] use = egg:Paste#http host = 0.0.0.0 port = 5000 注意: host=0.0.0.0とす…

Pylons+memcacheDB...プロジェクト設置

Pylonsなので簡単。 $ paster create -t pylons PhoneBook Selected and implied templates: Pylons#pylons Pylons application template Variables: egg: PhoneBook package: phonebook project: PhoneBook Enter template_engine (mako/genshi/jinja2/etc:…

memcacheDB設置

PylonsもRails同様、開発環境・テスト環境・本番環境を分けることができる。今回は、 localhost:21201 で開発用memcacheDB localhost:31201 でテスト用memcacheDB を動かすことにする。Gentooの場合この設定は簡単で、/etc/init.d/memcachedbのシンボリック…

Pylons+memcacheDB...前提

自分は以下の環境で実験した。 OS...Gentoo Linux (Linux gentoo 2.6.31-gentoo-r7 #1 SMP Sat Jan 9 01:04:46 GMT 2010 sparc64 sun4u TI UltraSparc III (Cheetah) GNU/Linux) Pylons...dev-python/pylons-0.9.7 USE="mako -cheetah -doc -genshi -jinja2 …

Pylons+memcacheDBでのデータ永続化チュートリアル風味

クラウドだなんだと騒がれている中で、ちょっと真面目にKey-Valueデータ格納を触り始めた。Google App Engineで、と割り切れれば話は早いのだろうが、それ以外の選択肢もあってよかろう、ということでPylons+memcacheDBの組み合わせで遊んでいる。その心は..…