2012-06-11 27 views
7

Używam nowy i18n_patterns Django 1.4:Używanie nowego i18n_patterns Django: Jak powrócić do domyślnego języka określonego w module ustawień?

from django.conf.urls import patterns, include, url 
from django.conf.urls.i18n import i18n_patterns 

from django.contrib import admin 
admin.autodiscover() 

urlpatterns += i18n_patterns('', 
    url(r'^admin/', include(admin.site.urls)), 
) 

To działa dla każdego aktywnego języku:

/en/admin/ # Ok 
/es/admin/ # Ok 

Ale to się nie powiedzie:

/admin/ # 404 Not found 

Jak uniknąć 404 błąd i przekierowanie do wersji językowej z żądanym adresem URL (nie tylko do panelu administracyjnego)?

Czy napisać niestandardowe oprogramowanie pośrednie? Dlaczego to nie jest domyślnie w Django?

Odpowiedz

11

Wygląda na to, że nie masz enable django.middleware.locale.LocaleMiddleware.

+2

Ups ... Mój zły! Sądzę, że doktorzy muszą to wyjaśnić trochę bardziej. Jednak po przeczytaniu całej sekcji tłumaczeń staje się jasne, że 'django.middleware.locale.LocaleMiddleware' jest bardzo potrzebne do wszystkiego w tłumaczeniu. Dzięki! –

+0

Odpowiedź nadal dotyczy Django 1.9. – jjmontes