2011-08-04 175 views
1

我喜欢Django如何从/some/url重定向到/some/url/当我使用正则表达式^/some/url/$,但它不反之亦然,例如,当我使用正则表达式^/some/url$时,从/some/url/重定向到/some/urlDjango - 重定向从尾部斜线到非尾部斜线

如何从我的django应用程序中添加此功能,而不是使用手动mod_rewrite?

+0

请勿。如果不涉及实际文件,ULR应以斜杠结尾。 –

+1

@Daniel当页面是文章的列表或“文件夹”,并且当页面是单篇文章时没有结尾斜杠时,我宁愿看到尾部斜杠。例如。 '/ category /'列出单篇文章的文章和'/ category/article-title'。它为用户提供他们可以预期的页面类型信息。 – Rainbow

+0

[django urls没有结尾的斜杠不可重定向]的可能重复(http://stackoverflow.com/questions/1596552/django-urls-without-a-trailing-slash-do-not-redirect) – Wtower

回答

4

我有它的工作。我已将/?添加到我的网址RegEx中,正好在$标志末尾。然后,我已将此添加到我的views.py中:

from django.shortcuts import redirect 
# ... 
def some_view(request, some_param): 
    if request.path[-1] == '/': 
     return redirect(request.path[:-1]) 
    # ...