Ошибка 404 не найдена при debug = False в многоязычном веб-приложении django
Здравствуйте, я делаю многоязычное веб-приложение на django,
Когда DEBUG = True =>мультиязык работает нормально, когда я нажимаю на localhost:8000 он перенаправляет меня на localhost:8000/en или на последний язык, который я ставлю в любом случае.
Когда DEBUG = FALSE =>я ввожу localhost:8000, он выдает ошибку 404 not found,
вот мой set.py:
Я ставлю '*', потому что я тестирую, если это возможно, чтобы работать в любом случае, я тестирую все.
ALLOWED_HOSTS = ['localhost','localhost:8000','127.0.0.1','127.0.0.1:8000','*']
LOCALE_PATHS = ( os.path.join(BASE_DIR, 'locale'), )
LANGUAGE_CODE = 'en'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
LANGUAGES = [
('en', ('English')),
('ko', ('Korean')),
]
вот мой urls.py
from django.conf.urls.i18n import i18n_patterns
urlpatterns = [
path('i18n/', include('django.conf.urls.i18n')),
]
urlpatterns += i18n_patterns (
path('admin/', admin.site.urls),
path('', include('app1.urls')),
path('', include('app2.urls')),
)
handler404='app1.views.handle_not_found'
в моем app1 urls.py
urlpatterns = [
path('',views.index,name="index"),
]
в debug = False это не работает так что он не знает путь locahost:8000 только он знает только localhost:8000/en как я могу сделать это всякий раз.
Не знаю, поможет ли вам это, но я настроил свои переводы таким образом в одном из моих Django проектов:
# Internationalization
# https://docs.djangoproject.com/en/3.2/topics/i18n/
LANGUAGE_CODE = 'fr'
TIME_ZONE = 'Europe/Paris'
USE_I18N = True
USE_L10N = True
USE_TZ = True
# This is defined here as a do-nothing function because we can't import
# django.utils.translation -- that module depends on the settings.
def gettext_noop(s):
return s
LOCALE_PATHS = (os.path.join(BASE_DIR, 'locale'),)
LANGUAGES = (
('fr', gettext_noop('French')),
('en', gettext_noop('English')),
# ('es', gettext_noop('Spanish')),
# ('it', gettext_noop('Italian')),
# ('ar', gettext_noop('Arab')),
)
В моем urls.py
:
from django.views.i18n import JavaScriptCatalog
urlpatterns = [
path('admin/', admin.site.urls),
path('jsi18n/', JavaScriptCatalog.as_view(), name='javascript-catalog'),
]
Этот код немного устарел, но я надеюсь, что он поможет.