Изменить поддомен + язык с помощью django-localeurl - PullRequest
0 голосов
/ 16 августа 2010

Я использую django-localeurl для изменения языка проекта на основе суффикса после домена (example.com/en, example.com/hu и т. Д.). Однако у меня также есть субдомены для стран, которые точно такие же, как суффиксы.

Как я могу изменить locale-url или добавить другой фильтр к ссылкам, чтобы я мог изменить суффикс и поддомен одновременно?

F.E.

example.com -> hu.example.com/hu -> es.example.com/es и т. Д.

Здесь есть функция localeurl chlocale:

def chlocale(url, locale):
    """
    Changes the URL's locale prefix if the path is not locale-independent.
    Otherwise removes locale prefix.
    """
    _, path = utils.strip_script_prefix(url)
    _, path = utils.strip_path(path)
    return utils.locale_url(path, locale)

chlocale = stringfilter(chlocale)
register.filter('chlocale', chlocale) 

Это мой звонок как URL href:

<a href="{{ request.path|chlocale:"hu" }}">Hungary</a>

Ответы [ 2 ]

0 голосов
/ 16 августа 2010

domain = Site.objects.get_current (). Domain

  <a href="http://hu.{{ domain }}{{ request.path|chlocale:"hu" }}">Hungary</a>

Немного хакерский, но, возможно, то, что вы ищете.

0 голосов
/ 16 августа 2010

На самом деле этот путь возвращает только относительный путь, а не полный http-адрес веб-страницы, поэтому можно вложить префикс http://sitename.domain в начале перед вызовом {{request.path ...}}.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...