一部の言語の翻訳済みURLを設定しました。djangoのデフォルト言語はen-USに設定されています。
Accept-Languageヘッダーとしてnl-NLを使用してページ/registration/を要求すると、404が返されます。そのような動作は予期していませんでした。むしろ、Accept-Languageヘッダーに対応する翻訳されたURLである/registratie/にリダイレクトされることを望んでいました。もちろん、nl-NlAccept-Languageヘッダーを持つ/registratie /は正常に機能し、期待される200を提供します。
私はこれが得ることができるのと同じくらい正常だと思いますか?
ユーザーが何らかのWebサイトからリンクを取得し、リンクが英語用に作成されている可能性はありませんが、問題のユーザーは、サポートされている言語設定が異なるAccept-Languageヘッダーを持っていますか?このような場合、彼には404が表示されます。英語(デフォルト)のコンテンツが表示されるか、サポートされている場合は、その言語の正しいURLにリダイレクトされる必要があります。
また、ユーザーがサポートされていない言語設定を持っている場合はどうなりますか?djangoのデフォルトLANGUAGE_CODE
が使用されますか?私の場合はen-USですか?
これを回避する方法、または別のより良い方法で処理する方法はありますか?
urls.pyファイルからの抜粋は、翻訳されたURLをどのように設定したかを示しています。
url(_(r'^step1/$'), AccountTypeSelectionView.as_view(), name="registration_step1"),