2015-10-10 3 views
0

Я работаю над многоязычным сайтом, поэтому я хочу суффикс всех моих URL-адресов с текущим 2-символьным кодом языка. Если язык не указан, я хочу по умолчанию использовать английский.Django - Suffix all url с кодом языка

Например:

mysite.com/ ->mysite.com/en

mysite.com/location ->mysite.com/locations/en

mysite.com/ar покажет арабское сайту

Поскольку я не хочу, чтобы добавить (?P<language>[a-x]{2})$ всем мои url Я предполагаю, что я должен написать некоторое промежуточное программное обеспечение, чтобы проверить суффикс и удалить его?

Каков наилучший способ достичь этого?

+2

Не было бы проще использовать стандартный способ и придать им код языка? Django предоставляет быстрый способ для этого: https://docs.djangoproject.com/en/1.8/topics/i18n/translation/#module-django.conf.urls.i18n –

+0

@BogdanIulianBursuc Спасибо, я не знал, что это существовало! Пожалуйста, добавьте его в качестве ответа, и я согласен – potatoes

ответ

0

Как указано в комментарии от @Bogdan выше, я прибегал к использованию встроенной функции префикса в django.

  • Я добавил LocaleMiddleware в моих MIDDLEWARE_CLASSES установке

  • Я добавил ЯЗЫКИ настройки, чтобы указать языки, на моем сайте, в моем случае это был только английский и арабский, так что мои языки выглядели как

  • В моих представлениях я использовал request.LANGUAGE_CODE для доступа к коду языка и отображения соответствующего языка в моем шаблоне

Смежные вопросы