Я использую djangio-localeurl для обеспечения переключения локали на основе моих URL.Он отлично работает, за исключением небольшого сбоя.
В некоторых моих представлениях на основе классов я использовал функцию отложенного реверсирования, в противном случае я получаю ошибки об отсутствующих шаблонах URL.Это было что-то из-за порядка, в котором файлы были импортированы.Одно объяснение гласит:
Так как декораторы ваших представлений оцениваются во время синтаксического анализа urls.py, у вас есть проблема «куриное яйцо».Метод reverse () нельзя использовать, так как urls.py не читается.
Кажется, что django-localeurl monkey-patches исправляет внутреннюю функцию reverse
Джанго.Это изменение работает нормально, но моя функция lazy_reverse
вызывает у меня проблемы.Теперь, когда я запускаю свои тесты, я получаю ошибки в местах, где я использовал эту функцию lazy_reverse
.Вот мой lazy_reverse
код функции:
from django.utils.functional import lazy
from django.core import urlresolvers
reverse_lazy = lambda name=None, *args : lazy(urlresolvers.reverse, str)(name, args=args)
Ошибка, которую я продолжаю получать:
TypeError: Lazy object returned unexpected type.
Кажется, я понимаю, что вызывает это.Эта проблема, кажется, исчезает, когда я удаляю localeurl
из моего INSTALLED_APPS
параметра.
Любые идеи о том, как решить эту проблему?
Спасибо