Question

So, i love django, but it's not so user friendly for simple sites. And, i installed django cms 2 (last stable), a make all as in tutorial. Meanwhile, i want multilanguage site.

But, i getting 404 error page. Please check my settings.py and urls.py. What i did wrong? Why site doesn't auto redirect me to en-us ? Thank you, for help.

error text

Using the URLconf defined in hackcoin.urls, Django tried these URL patterns, in this order:

^media/(?P<path>.*)$
^static\/(?P<path>.*)$
^en-us/

The current URL, , didn't match any of these.

settings.py

MIDDLEWARE_CLASSES = (
...
   'cms.middleware.language.LanguageCookieMiddleware',
)

LANGUAGES = [
    ('en', 'English'),
    ('ru', 'Russian'),
]

LANGUAGE_CODE = 'en-us'

urls.py

from django.conf.urls.defaults import *
from django.conf.urls.i18n import i18n_patterns
from django.contrib import admin
from django.conf import settings

admin.autodiscover()

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

if settings.DEBUG:
    urlpatterns = patterns('',
    url(r'^media/(?P<path>.*)$', 'django.views.static.serve',
        {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
    url(r'', include('django.contrib.staticfiles.urls')),
) + urlpatterns
Était-ce utile?

La solution

try to set LANGUAGE_CODE="en" and be sure to have the django locale middleware installed

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top