2012-06-11 12 views
7

sto usando la nuova i18n_patterns di Django 1.4:Uso dei nuovi i18n_pattern di Django: Come tornare alla lingua predefinita specificata nel modulo delle impostazioni?

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)), 
) 

Funziona per ogni lingua attiva:

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

Ma questo non riesce:

/admin/ # 404 Not found 

Come evitare il 404 errore e reindirizzamento a una versione con prefisso lingua dell'URL richiesto (non solo il pannello di amministrazione)?

È possibile scrivere un middleware personalizzato come soluzione? Perché questo non viene di default in Django?

risposta

11

Sembra che tu non l'abbia fatto enable django.middleware.locale.LocaleMiddleware.

+2

Oops ... Il mio male! Immagino che i documenti debbano chiarire questo un po 'di più. Tuttavia dopo aver letto l'intera sezione di traduzione diventa chiaro che 'django.middleware.locale.LocaleMiddleware' è praticamente necessario per tutto ciò che riguarda la traduzione. Grazie! –

+0

La risposta vale comunque per Django 1.9. – jjmontes

Problemi correlati