2010-08-16 90 views
0

我使用django-localeurl根据域名(example.com/en,example.com/hu等)后缀来更改项目的语言。不过,我也有与后缀完全相同的国家/地区的子域名。用django-localeurl更改子域名+语言

如何修改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> 

回答

0

这一个实际上只返回相对路径而不是网页的HTTP详细地址,所以它是确定之初的{{Request的...}} CA之前附加前缀http://sitename.domain二。

0

域= Site.objects.get_current()。域

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

有点哈克但也许你正在寻找。