¿Cómo configuro los patrones url basados en el nombre de dominio o TLD, en Django?¿Cómo configuro los patrones url basados en el nombre de dominio o TLD, en Django?
Para algunos enlaces, Amazon muestra la url en el idioma nativo según su sitio web tld.
http://www.amazon.de/bücher-buch-literatur/ (DE: libros => bücher)
http://www.amazon.fr/Nouveautés-paraître-Livres/ (fr: libros => Libros)
http://www.amazon.co.jp/和書-ユーズドブッ-英語学習/ (JP: libros => 和 書)
(los enlaces son incompletos y justo mostrar como ejemplos.)
¿Es posible obtener el nombre de host en urls.py? (el objeto request no está disponible en urls.py) o quizás en process_request de middleware y lo usa en urls.py (¿cómo?)
¿Alguna sugerencia alternativa de cómo lograr esto?
#---------- 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"),
)
el patrón de URL tiene que ser construido sobre la base de dominio de nivel superior y más tarde en la plantilla, <a href="{% url books %}" >{% trans "books" %}</a>
a representar HTML como <a href="Bücher">Bücher</a>
o <a href="Livres">Livres</a>
Gracias Van, Tal vez estoy perdiendo el punto de la otra pregunta que refieres. Aquí, los patrones de URL deben construirse en base a tld, y más tarde en la plantilla, {% trans "books" %} para representar html como Bücher o Livres – e70
He actualizado la pregunta para reflejar esto. – e70
Van, ¡gracias por una reseña tan detallada! – e70