2012/08/26

[Python][django]None時のエスケープ

Djangoを使ってHTML内にquery結果を表示する時、DBの値が、NULLだった場合、画面に、

None
と表示されてしまうwww。

そこでこれを回避するために、デフォルト表示ないし、エスケープさせる必要があります。

Django テンプレート言語の文字列リテラルと自動エスケープ読むと、下のように設定すればいいそうだ。
{{ query.column|default:'初期値' }}
ここで、マニュアルには記載されていない重要なことがあるのだが、
「|」の前後に半角スペースを入れてしまうとエラーになってしまう。

どうしてか理由はわからないが。
従って下記の書き方はダメ。
{{ query.column | default:'初期値' }}
これなにげにすごく重要で、見やすくしようと思って親切設計で入れた結果、返って仇になってしまうケース。

超注意したいところ。

0 コメント:

コメントを投稿