Django "settings.DABABASES неправильно настроен" и "неправильно настроен в / i18n / setlang /" - PullRequest
0 голосов
/ 05 сентября 2018

Я написал веб-приложение на 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>

1 Ответ

0 голосов
/ 05 сентября 2018

Хорошо, так что проблема была связана с сессиями. Я использую базу данных MongoDB с Django-MongoEngine и не включаю поддержку сессий. Так что просто добавили эти две строки кода

SESSION_ENGINE = 'django_mongoengine.sessions'
SESSION_SERIALIZER = 'django_mongoengine.sessions.BSONSerializer'

до settings.py и все стало работать нормально.

...