Search code examples
djangodjango-i18n

How to escape modulo in Django translation strings (ugettext_lazy)


class MyModel(models.Model):
    test = models.CharField(_("100% of escaping problems sucks"), max_length=50)

The string is then threated as a python-format in gettext because it contains a modulo (%)

How do I escape it ?


Solution

  • This is the only workaround I found to be working... and it's ugly as hell:

    class MyModel(models.Model):
        test = models.CharField(_("100%(bs)s of escaping problems sucks") % {'bs': '%'}, max_length=50)