0

的Django页面重定向假设我们有一个页面:基于区域网址

http://www.example.com/cs/department/category/

我使用Django的语言环境国际化。

我应该如何去实现,如果有人类型:

http://www.example.com/en/department/category/

EN代替CS会重定向。

我注释掉其他语言这样实现这一点:

enter image description here

但是我希望做的是让他们有注释。 urls.py或views.py中只有'CS'正在工作的重定向是什么。 DE & EN将被重定向。如果你不明白,我可以澄清更多。

感谢

回答

0

快速和懒惰的解决方案可能是:

views.py

from django.http import HttpResponseRedirect 

def myview(request): 
    newurl = 'define your new url here' 
    if not 'cs/' in request.get_full_path(): 
     return HttpResponseRedirect(newurl) 
+0

但如果我可以说20次,我必须将它添加到他们每一个人? – Radek

+0

是的在这种情况下,但你也可以在urls.py中创建重定向urj.py'从django.views.generic import RedirectView'然后在你的urlpatterns中添加'url(r'^ bad_url/$',RedirectView.as_view(url ='good_url' )),'希望它有帮助 – Goran