ドメインに基づいてDjango Webサイトのページの言語固有のバージョンを選択する簡単な方法はありますか? (言語コードを除いて、URLは両方の言語で同じであり、今後も同じであるため、(デフォルトで「en」で実行)とmysite.com/teachers/manage
同じにしたい-そしていいえ、URL自体は「teachers/manage」のようになります' は決して翻訳されないため、両方の言語に対して 2 セットの URL を構成したくありません)。mysite.com/en/teachers/manage
mesito.es/teachers
mesito.es/es/teachers
注:私が見つけた他のすべての解決策は、URL も翻訳したいことを暗示していますが、URL を翻訳したくないことはわかっています。
注2(追加するのを忘れました):ほとんどのWebサイトは実際には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 のサイトのデフォルト言語は英語です)