2010-08-16 4 views
0

J'utilise django-localeurl pour changer la langue d'un projet en fonction d'un suffixe après le domaine (exemple.com/fr, exemple.com/hu etc). Cependant j'ai aussi des sous-domaines pour les pays qui sont exactement les mêmes que les suffixes.Modifier le sous-domaine + langue avec django-localeurl

Comment puis-je modifier l'URL de paramètres régionaux ou ajouter un autre filtre aux liens afin de pouvoir modifier le suffixe et le sous-domaine en même temps?

f.e.

example.com -> hu.example.com/hu -> es.example.com/es etc.

Ici il y a la fonction chlocale de localeurl:

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) 

C'est mon appel comme URL href:

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

Répondre

0

celui-ci revient en fait que le chemin relatif pas la http adresse complète de la page Web, il est donc OK pour préfixe joindre http://sitename.domain au début avant la {{...}} request.path ca ll.

domaine

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

0

domaine = Site.objects.get_current(). Un peu hacky mais peut-être ce que vous recherchez.