How do I set urlpatterns based on domain name or TLD, in Django?
For some links, Amazon shows url in native language based on its website tld.
http://www.amazon.de/bücher-buch-literatur/ ( de : books => bücher )
http://www.amazon.fr/Nouveautés-paraître-Livres/ ( fr : books => Livres )
http://www.amazon.co.jp/和書-ユーズドブッ-英語学習/ ( jp : books => 和書 )
( the links are incomplete and just show as samples. )
Is it possible to get host name in urls.py? (request object is not available in urls.py) or maybe in process_request of middleware and use it in urls.py(how???)
Any alternate suggestions how to achive this?
#---------- pseudocode ----------
website_tld = get_host(request).split(".")[-1]
#.fr French : Books : Livres
#.de German : Books : Bücher
if website_tld == "fr":
lang_word = "Livres"
elif website_tld == "de":
lang_word = "Bücher"
else:
lang_word = "books"
urlpatterns = patterns('',
url(r'^%s/$' % lang_word,books_view, name="books"),
)
The url pattern needs to be built based on tld and later in the template, <a href="{% url books %}" >{% trans "books" %}</a>
to render html as <a href="Bücher">Bücher</a>
or <a href="Livres">Livres</a>