Я пытаюсь настроить проект в Django 1.9, и мне трудно перевести домашнюю страницу.Django 1.9 - url интернационализация
Я бы хотел перенаправить своих пользователей в/en или/fr, когда они попали на домашнюю страницу.
Итак, я проверил документацию, но это не совсем понятно для меня.
В моем settings.py, я добавил это (с дока: url internationalization):
MIDDLEWARE_CLASSES += [
'django.middleware.locale.LocaleMiddleware',
]
У меня есть это:
LANGUAGE_CODE = 'en'
DEFAULT_LANGUAGE = 'en'
LANGUAGES = (
('en', 'English'),
('fr', 'Français'),
)
TIME_ZONE = 'America/Toronto'
USE_I18N = True
USE_L10N = True
USE_TZ = True
В моем urls.py, я добавил:
# -*- coding: utf-8 -*-
from django.conf.urls import url
from django.utils.translation import ugettext_lazy as _
from django.views.generic.base import TemplateView
urlpatterns = [
url(r'^$', TemplateView.as_view(template_name="index.html"), name='home'),
url(_(r'^privacy-policy/$'), TemplateView.as_view(template_name="privacy-policy.html"), name='privacy-policy'),
]
Когда я запускаю сервер и перехожу на localhost: 8000, нет переадресации на/en или/fr
Что я делаю неправильно?
Я знаю, но в док, они сказали: 'Устаревшие начиная с версии 1.8:' ' префикс аргумент i18n_patterns() является устаревшим и не будет поддерживаться в Django 1.10. Просто передайте список экземпляров django.conf.urls.url(). ' – Kornikopic
@Kornikopic В Django> 1.8:' urlpatterns + = i18n_patterns ([url (r '^ test $', 'your_package.views.test', name = 'test')]) ' –
@JamesFenwick это именно то, чего я пытаюсь избежать, так как эта функция будет удалена в Django 1.10 - также я попробовал, и она не работает. Вот ошибка, которую я получил: 'AttributeError: объект 'list' не имеет атрибута 'regex'' – Kornikopic