Как установить urlpatterns на основе имени домена или TLD в Django?Как установить urlpatterns на основе имени домена или TLD в Django?
Для некоторых ссылок Amazon показывает URL-адрес на родном языке на основе его веб-сайта tld.
http://www.amazon.de/bücher-buch-literatur/ (де: книги => Bücher)
http://www.amazon.fr/Nouveautés-paraître-Livres/ (фр: книги => Livres)
http://www.amazon.co.jp/和書-ユーズドブッ-英語学習/ (JP: книги => 和 書)
(ссылки являются неполными и просто показать как образцы.)
Возможно ли получить имя хоста в urls.py? (объект запроса недоступен в urls.py) или, может быть, в process_request промежуточного программного обеспечения и использовать его в urls.py (как ???)
Любые альтернативные предложения, как добиться этого?
#---------- 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"),
)
URL, шаблон должен быть построен на основе TLD, а затем в шаблоне, <a href="{% url books %}" >{% trans "books" %}</a>
для визуализации HTML, как <a href="Bücher">Bücher</a>
или <a href="Livres">Livres</a>
Спасибо Ван, может быть, я пропустил пункт из другого вопроса, который вы указали. Здесь шаблоны url должны быть построены на основе tld, а затем в шаблоне {% trans "books" %} для рендеринга html как Bücher или Livres – e70
Я обновил вопрос, чтобы отразить это. – e70
Ван, спасибо за такую подробную запись! – e70