当用户选择英语时,我需要将网址 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'])
当然,它不起作用。这适用于每个请求。
请帮帮我。
谢谢