是否有任何braindead簡單的方法在Django網站上根據域名選擇語言特定版本的頁面?(除了語言代碼外,這兩種語言的網址都是相同的,因此我希望mysite.com/teachers/manage
與mysite.com/en/teachers/manage
相同(默認爲'en')和mesito.es/teachers
與mesito.es/es/teachers
相同 - 且網址爲他們自己喜歡'老師/管理'將永遠不會翻譯,所以我不想爲兩種語言配置2套網址)。按Django域名分類的語言
注意:我發現的所有其他解決方案意味着我也想翻譯這些網址,但我知道我永遠不會想要爲這個特定的網站翻譯它們的URL和manae 2套。
注2(忘了補充):大部分的網站實際上是Django的CMS爲主,這樣的Django-CMS的具體解決方案將有助於...
OK,我得到了我通過重定向鑑於這種醜陋的黑客想(但仍,是不是有右和簡單的方式做到這一點...?):
## mysite.urls:
urlpatterns = patterns('',
(r'^$', 'mysite.views.language_router')
## mysite.views:
def language_router(request):
if request.META['HTTP_HOST'].find('myspanishdomain.com') != -1 \
and request.META['PATH_INFO'] == '/' :
return HttpResponseRedirect('http://www.myspanishdomain.com/es/')
return cms.views.details(request, '')
(網址爲myenglishdomain.com有德錯誤語言英語)
你看過什麼其他解決方案? – mbaechtold
我來這http://djangosnippets.org/snippets/271/並通過django網站文檔挖掘,但我不想創建不同的網站...如果只有request.path將包含該死的語言前綴在其中我可能會破壞重定向的觀點或某種醜陋而可操作的想法...但即使這樣也能按預期工作。 i18n和l10n確實是一個婊子:) – NeuronQ