2

I am using https://github.com/carljm/django-localeurl package to make my site multilingual.

settings.py

LANGUAGE_CODE = 'en'
_ = lambda s: s
LANGUAGES = (
    ('lt', _("Lithuanian")),
    ('en', _("English")),
)

PREFIX_DEFAULT_LOCALE = False

any_other_file.py

from django.utils import translation

def my_view(request):
    translation.activate('en')
    print reverse('some_url_name')   # /my-url/
    translation.activate('lt')
    print reverse('some_url_name')   # /lt/my-lithuanian-url/

    # so far so good
    translation.activate('en')
    redirect(reverse_lazy('some_url_name'))   # redirects to /my-url/
    translation.activate('lt')
    redirect(reverse_lazy('some_url_name'))   # tries to redirect to /my-lithuanian-url/ without /lt/ prefix which results in Http404 error

How can I fix all lazy url reverse functions used in many places in the project?

aemdy
  • 3,702
  • 6
  • 34
  • 49

0 Answers0