2011-08-04 210 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]) 
    # ...