Djangoでドメイン名またはTLDに基づいてurlpatternsを設定するにはどうすればよいですか?
一部のリンクについては、Amazon はウェブサイトの tld に基づいて母国語で URL を表示します。
http://www.amazon.de/bücher-buch-literatur/ ( de : books => bücher )
http://www.amazon.fr/Nouveautés-paraître-Livres/ ( fr : 本 => リーヴル )
http://www.amazon.co.jp/和書-ユーズドブッ-英語学習/ ( jp : books => 和書 )
(リンクは不完全で、サンプルとして表示されているだけです。)
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>