#24601 closed Bug (duplicate)
Template rendering breaks for number in management command due to translation.deactivate_all()
| Reported by: | stephanm | Owned by: | nobody |
|---|---|---|---|
| Component: | Uncategorized | Version: | 1.8 |
| Severity: | Normal | Keywords: | |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
In django 1.8 an old management command does not work anymore.
It stumbles over the number, because in django/core/management/base.py on line 403 translation.deactivate_all() is called, and later
_active.value = gettext_module.NullTranslations()
is set.
At least, I found a workaround by setting an explicit language.
Here is the test class to reproduce (if you set: ACTIVATE_WORKAROUND = True it will work).
# -*- coding: utf-8 -*- from django.core.management.base import BaseCommand from django.template import Context, Template txt = " {{number}} {{text}}" class Command(BaseCommand): def handle(self, *args, **options): ACTIVATE_WORKAROUND = False if ACTIVATE_WORKAROUND: from django.utils import translation translation.activate("de") t = Template(txt) par = {'number': 9009, 'text': 'text', } c = Context(par) s = t.render(c) print s
To reproduce please unzip website.zip
and run:
website> manage.py myapp_test
You will get a lengthy output whichs ends with:
...
File "D:\Programme\python27\lib\site-packages\django\utils\lru_cache.py", line 125, in wrapper
result = user_function(*args, **kwds)
File "D:\Programme\python27\lib\site-packages\django\utils\translation\trans_real.py", line 409, in check_for_language
if not language_code_re.search(lang_code):
TypeError: expected string or buffer
Attachments (1)
Change History (4)
by , 11 years ago
| Attachment: | website.zip added |
|---|
comment:1 by , 11 years ago
| Resolution: | → duplicate |
|---|---|
| Status: | new → closed |
comment:2 by , 11 years ago
OK, if setting leave_locale_alone=True the error doesn't appear.
Will there be an 1.8.1 RC version to test?
comment:3 by , 11 years ago
There won't be a 1.8.1 RC, but you can test with the stable/1.8.x branch now.
It seems this will be fixed in 1.8.1 by #24569.
Also note this related item in the 1.8 release notes: