相关疑难解决方法(0)

如何在Django中根据域名或TLD设置urlpatter?

如何在Django中根据域名或TLD设置urlpatter?

对于某些链接,亚马逊根据其网站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 =>和书)

(链接不完整,只显示为样本.)

是否可以在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"),
                       )
Run Code Online (Sandbox Code Playgroud)

url模式需要基于tld构建,然后在模板中构建,<a href="{% url books %}" >{% trans "books" %}</a>以将html呈现为<a href="Bücher">Bücher</a><a href="Livres">Livres</a>

django session request django-urls

6
推荐指数
2
解决办法
4340
查看次数

标签 统计

django ×1

django-urls ×1

request ×1

session ×1