Django перевод не найден (404) для всех дополнительных языков - PullRequest
0 голосов
/ 13 апреля 2020

Я использую Django 3.0.4. Я пытаюсь настроить несколько языков в моем проекте, но по какой-то причине доступен только язык по умолчанию. Вот мои настройки:

settings.py:

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'django.middleware.common.CommonMiddleware',
    ...
]

LANGUAGES = (
    ('en', _('English')),
    ('el', _('Greek')),
)

LANGUAGE_CODE = 'en'

USE_I18N = True

USE_L10N = False

USE_TZ = True

LOCALE_PATHS = (
    os.path.join(BASE_DIR, 'locale'),
)

urls.py:

from django.conf.urls.i18n import i18n_patterns

urlpatterns = [
    path('i18n/', include('django.conf.urls.i18n')),
    path('superadmin/', admin.site.urls),
]

# Enable debug toolbar
if settings.DEBUG:
    import debug_toolbar
    urlpatterns = [
        path('__debug__/', include(debug_toolbar.urls)),
    ] + urlpatterns

urlpatterns += i18n_patterns(
    path(
        'dashboard/',
        include('fusers.dashboard_urls'),
        name="usersDashboard"
    ),
)

И в результате я не могу получить доступ к dashboard/ без язык по умолчанию в качестве префикса:

/en/dashboard/  --OK
/dashboard/     --404
/el/dashboard/  --404

1 Ответ

0 голосов
/ 13 апреля 2020

Это было мое плохо. У меня есть несколько файлов настроек для разработки и производства, и я забыл включить 'django.middleware.locale.LocaleMiddleware' в настройках разработчика.

...