Django _(‘text’)について

django
この記事は約1分で読めます。

個人用メモです。

ユーザクラスとかをみていて謎だったので、_(‘text’)について調べました。

利用ケース

翻訳対象を明示するために使用する。text部分が国際化対応実装時に、翻訳されて表示される。

要は翻訳対象をマークアップするための記法

モデルにおける実際の実装イメージ

from django.db import models
from django.utils.translation import gettext_lazy as _


class Post(models.Model):
    title = models.CharField(_('post title'), max_length=255)

標準ライブラリ

i18n関係  https://docs.python.org/ja/3/library/i18n.html

実際に国際化対応する場合

2019/11時点感想: 標準ライブラリだと少しパワー不足感。babelをinstallして利用した方がベター

コメント