たとえばDjangoのフィルターで、
{{ some_value|floatformat:1 }}としているところを、viewから変数を渡して
{{ some_value|floatformat:floatpoint }}のように書くことができます。他にも
{{ now "%Y %m %d" }}を
{{ now date_format }}みたいに書くとか。・・・常識?
{{ some_value|floatformat:1 }}としているところを、viewから変数を渡して
{{ some_value|floatformat:floatpoint }}のように書くことができます。他にも
{{ now "%Y %m %d" }}を
{{ now date_format }}みたいに書くとか。・・・常識?
>>> from game.models import * >>> hts = HeroTemplate.all() >>> ht = hts.fetch(1)[0] >>> ht.template_name #問題なし >>> ht.name #問題なし >>> hero = Hero( ... name=ht.name, ... symbol=ht.symbol, ... max_life=ht.max_life, ... life=ht.max_life, ... max_move=ht.max_move, ... move=ht.max_move, ... weapon=None, ... item=None, ... ) >>> hero #ここでUnicodeEncodeError >>> ht.createHero() #上記と同じ処理をやるメソッド、これもUnicodeEncodeError原因を調べていてわかったのですが、Python 2.5系列では__repr__()がunicodeを返すようにしてしまうとトラブルの元になってしまうようです。
>>> class Abesi: ... def __repr__(self): ... return u'¥u3059¥u305a¥u304d¥u3044¥u3061¥u308d¥u30fc' ... >>> abesi = Abesi() >>> abesi #UnicodeEncodeErrorこれを実行するとabesiを表示しようとしたタイミングでエラーになります。環境はWindowsXP上のCygwin 1.7 + Python 2.5.4で、ターミナル上ではshift_jisを使っています。始めっからターミナルがutf-8を扱えるような環境なら__repr__()でunicodeを返しても上手くいくかもしれません。
sudo port install python26
sudo port install python_select
$ python_select -l #利用可能なバージョン一覧を表示
Available versions:
current none python25-apple python26
$ python_select python26 #python2.6に切り替え
sudo port install py26-django
sudo easy_install django
sudo port install py26-pil
tar zxvf Imaging-1.1.6.tar.gz
cd Imaging-1.1.6
sudo python setup.py install