2010-08-16 3 views
0

django-localeurl을 사용하여 도메인 (example.com/en, example.com/hu 등) 다음의 접미사를 기반으로 프로젝트 언어를 변경합니다. 그러나 나는 또한 접미사와 정확히 같은 나라의 하위 도메인을 가지고있다.django-localeurl을 사용하여 하위 도메인 + 언어 변경

로케일 -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.path ...}} 캘리포니아 전에 시작 부분에 접두사 http://sitename.domain를 연결 OK입니다 ll.

0

도메인 = Site.objects.get_current(). 도메인

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

약간 해키하지만, 아마도 당신이 찾고있는 무엇.