Djangoのモデルで下記のようにchoicesを設定してフォーム上の選択肢を定義しておくことがあると思いますが、フォーム以外のテンプレート上でchoices設定したフィールドを{{ foo.bar }} とやってみてもDB値が表示されてしまいます。
かといってテンプレートで{% if foo.country == ‘A’ %}Japan{% endif %} のように場合分けするのもテンプレートの各所に書かれていたら修正が面倒です。
このような時、実はDB値ではなくchoicesで設定した読みやすい値の方を呼び出す簡単な方法があります。それはテンプレート上で{{ foo.get_fieldName_display }} と書くだけです。
下記モデルの場合であれば、{{ foo.get_country_display }}と書けばDB値に対応した読みやすい方の値を画面に表示してくれます。
より詳しくは公式ドキュメントのModel.get_FOO_display()をご参照ください。
models.py
class Country(models.Model):
COUNTRY = (
('A', 'Japan'), # (DB値, 読みやすい値)
('B', 'America'),
('C', 'China'),
)
country = models.CharField(max_length=1, choices=COUNTRY)