Wie stelle ich URL-Muster basierend auf Domain-Namen oder TLDs in Django ein?Wie stelle ich URL-Muster basierend auf Domain-Namen oder TLDs in Django ein?
Für einige Links zeigt Amazon URL in der Muttersprache basierend auf seiner Website Tld.
http://www.amazon.de/bücher-buch-literatur/ (de: Bücher => Bücher)
http://www.amazon.fr/Nouveautés-paraître-Livres/ (fr: Bücher => Livres)
http://www.amazon.co.jp/和書-ユーズドブッ-英語学習/ (jp: Bücher => 和 書)
(die Links sind unvollständig und nur Als Beispiele anzeigen.)
Ist es möglich, in urls.py einen Hostnamen zu erhalten? (Anfrage Objekt ist nicht verfügbar in urls.py) oder vielleicht in process_request der Middleware und benutze es in urls.py (wie ???)
Irgendwelche alternativen Vorschläge, wie dies zu erreichen?
#---------- 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"),
)
Das URL-Muster muss gebaut basierend auf TLD werden und später in der Vorlage, <a href="{% url books %}" >{% trans "books" %}</a>
html als <a href="Bücher">Bücher</a>
oder <a href="Livres">Livres</a>
Danke Van, Vielleicht fehlt mir der Punkt von der anderen Frage, die Sie beziehen. Hier müssen die URL-Muster basierend auf Tld, und später in der Vorlage, {% trans "books" %} erstellt werden, um HTML als Bücher oder Livres – e70
zu rendern Ich habe die Frage aktualisiert, um dies zu reflektieren. – e70
Van, Danke für solch eine ausführliche Beschreibung! – e70