Я написал веб-приложение на Django, и теперь мне нужно перевести его на английский. Я следовал за документацией , но продолжаю получать эту странную ошибку:
Неправильно сконфигурировано в / i18n / setlang / settings. Базы данных есть
неправильно настроен. Пожалуйста, укажите значение ДВИГАТЕЛЯ. Проверьте настройки
документация для более подробной информации. Метод запроса: запрос POST
URL: http://192.92.149.139:8000/i18n/setlang/ Django Версия: 2.0.3
Тип исключения: Неправильно настроенное значение исключения:
settings.DATABASES неправильно настроен. Пожалуйста, поставьте ДВИГАТЕЛЬ
значение. Проверьте настройки документации для более подробной информации. исключение
Расположение: /home/mwon/venvs/arquivo/lib/python3.6/site-packages/django/db/backends/dummy/base.py
в жалобе, строка 20 Python
Исполняемый файл: /home/mwon/venvs/arquivo/bin/python3.6 Python
Версия: 3.6.4 Python Path: ['/ home / mwon / digitalocean / website_dev',
'/Home/mwon/venvs/arquivo/lib/python36.zip',
'/Home/mwon/venvs/arquivo/lib/python3.6',
'/Home/mwon/venvs/arquivo/lib/python3.6/lib-dynload',
'/Usr/lib/python3.6',
'/Home/mwon/venvs/arquivo/lib/python3.6/site-packages',
'/Home/mwon/venvs/arquivo/lib/python3.6/site-packages/django_styleguide-1.2.5-py3.6.egg',
'/Home/mwon/venvs/arquivo/lib/python3.6/site-packages/Markdown-2.6.11-py3.6.egg',
'/Home/mwon/venvs/arquivo/lib/python3.6/site-packages/bs4-0.0.1-py3.6.egg',
'/Home/mwon/venvs/arquivo/lib/python3.6/site-packages/beautifulsoup4-4.6.0-py3.6.egg',
'/Home/mwon/venvs/arquivo/lib/python3.6/site-packages/duc_preprocess-1.0-py3.6.egg',
'/Home/mwon/venvs/arquivo/lib/python3.6/site-packages/simple_cnlp-1.0-py3.6.egg',
'/Home/mwon/venvs/arquivo/lib/python3.6/site-packages/django_mongoengine-0.3-py3.6.egg']
Время сервера: Qua, 5 Set 2018 11:21:17 + 0000
РЕДАКТИРОВАТЬ: и настройки. Базы данных:
{
'default': {
'ENGINE': 'django.db.backends.dummy',
'ATOMIC_REQUESTS': False,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'OPTIONS': {},
'TIME_ZONE': None,
'NAME': '',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
'TEST': {
'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None
}
}
}
Это мой urls.py:
urlpatterns = [
path('i18n/',include('django.conf.urls.i18n')),
]
urlpatterns += i18n_patterns(
path('admin/',admin.site.urls),
path('',include('arquivo.urls')),
prefix_default_language = True
)
и settings.py:
LANGUAGE_CODE = 'pt'
LANGUAGES = (
('en', 'English'),
('pt', 'Portuguese'),
)
USE_I18N = True
LOCALE_PATHS = [
os.path.join(BASE_DIR,'locale')
]
Перевод работает нормально. Проблема была, когда я включил форму для выбора языка. Я использовал пример кода из документации :
{% load i18n %}
<form action="{% url 'set_language' %}" method="post">{% csrf_token %}
<input name="next" type="hidden" value="{{ redirect_to }}">
<select name="language">
{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as LANGUAGES %}
{% get_language_info_list for LANGUAGES as languages %}
{% for language in languages %}
<option value="{{ language.code }}"{% if language.code == LANGUAGE_CODE %} selected{% endif %}>
{{ language.name_local }} ({{ language.code }})
</option>
{% endfor %}
</select>
<input type="submit" value="Go">
</form>