URL не найден - Django python - PullRequest
       5

URL не найден - Django python

1 голос
/ 10 февраля 2020
  • Мои URL-адреса автоматически переводятся (Python, из django .utils.translation import ugettext_lazy как _)
  • Версия Engli sh находится на urls.py тогда , переведенные версии в django .po (один французский, один испанский sh, один голландский) Например, в urls.py:

    из django .conf.urls, URL импорта из django. views.generi c импорт TemplateView из django .conf.urls.i18n импорт i18n_patterns из django .utils.translation импорт ugettext_lazy как _

    из. импорт представлений из представлений импорт ExtraContextTemplateView

    urlpatterns = [url (_ (r '^ contact / $'), views.contact, name = 'contact'),]

В индексе. html:

<form action="{% url 'set_language' %}" 
                      method="post"
                      style="display: none;"
                      id="form-change-lang">{% csrf_token %}
                      <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>

В настройках common.py у меня есть:

LANGUAGE_CODE = 'en'

gettext = lambda s: s 
LANGUAGES = [
    ('en', _('English')),
    ('es', _('Spanish')),
    ('fr', _('French')),
    ('nl', _('Dutch')),
]

prefix_default_language = False

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True

AUTOSLUG_MODELTRANSLATION_ENABLE = True

В основном проблема заключается в том, что, когда вы находитесь на веб-сайте, и вы нажимаете на флаге он переводится без каких-либо проблем, но, если у вас есть устройство Spani sh, французское или голландское, он не находит ни URL-адреса, ни английского языка Engli sh другого языка.

...