ユーザーが英語を選択した場合、URL www.example.com/product/1 を www.example.com/en/product/1 に書き換える必要があります。(彼は選択ボックスをクリックして言語を切り替え、「言語」というセッションを設定します)
この機能をサポートする django 1.4 を選択できません。django 1.3 を使用することをお勧めします。
したがって、ミドルウェアを試してみましたが、結局のところ、ミドルウェアはリクエストごとに実行され、無限ループが発生します。
class urlrewrite():
def process_request(self, request):
if 'i' in request.session:
if request.session.get('i','') != 0:
print "session"
request.session['i'] = request.session['i'] + 1
else:
request.session['i'] = 0
else:
request.session['i'] = 0
print "request.session['i']", request.session['i']
if request.session.get('i','') == SOME_CONSTANT and request.session.get('django_language','') == 'en':
del request.session['i']
return HttpResponseRedirect("en/"+request.META['PATH_INFO'])
もちろん、うまくいきません。これは、リクエストごとに実行されます。
親切に私を助けてください。
ありがとうございました