Язык по умолчанию через настройки, не соблюдаемые во время тестирования

Использование Django 1.3, Python 2.6

Наличие особенно странной проблемы для отслеживания, связанной с интернационализацией, и RequestFactory vs. TestClient для тестирования представлений.

Если я бегу:

./manage.py test 

Все тесты запускаются (в том числе проблемные) и проходят успешно. Если я бегу:

./manage.py test <appname> 

Тесты приложения не пройдут, что вызовет исключение отрисовки шаблонов для шаблонов, использующих код языка, потому что язык, по мнению django, запрашиваемого запроса, не является языком, который мы перечислили в settings.LANGUAGES. (В этом случае это всегда был «en-us», язык соответствия шкафу, который мы поддерживаем, был «en»)

Вот пример теста, который не пройдёт:

class TemplateServingTestCase(TestCase):
    def setUp(self):
        self.app_dir      = os.path.abspath(os.path.dirname(__file__))
        self.gallery_root = os.path.join(self.app_dir, 'test_gallery')
        self.gallery_url  = '/'
        self.request      = RequestFactory().get('/')

    def test_404_invalid_category(self):
        self.assertRaises(Http404, gallery_page,
            self.request,
            'bad-category',
            self.gallery_root,
            self.gallery_url
        )

Эта проблема не будет возникать, если django TestClient используется для отправки запроса на URL, который вызывает конкретное представление. Однако, если то же самое представление просто вызывается с результатом методов get или put RequestFactory, оно выдаст ошибку выше.

Похоже, что при использовании метода RequestFactory файл настроек не соблюдается. Я что-то упускаю здесь?

Дополнительная информация

Применимые настройки локали

LANGUAGE_CODE = 'en'
LANGUAGES = (
    ('en', 'English'),
    ('de', 'Deutsch'),
    ('es', 'Espanol'),
    ('fr', 'Francaise'),
    ('it', 'Italiano'),
    ('pt-br', 'Portugues (Brasil)'),
)

Активное промежуточное ПО

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'services.middleware.LegacyIntegrationMiddleware',
)

Ответы на вопрос(2)

Ваш ответ на вопрос