【问题标题】:Django - Redirecting from trailing slash to non-trailing slashDjango - 从斜杠重定向到非斜杠
【发布时间】:2011-10-19 19:39:00
【问题描述】:

当我使用正则表达式 ^/some/url/$ 时,我喜欢 Django 如何从 /some/url 重定向到 /some/url/,但反之亦然,例如当我使用正则表达式 ^/some/url$ 时,从 /some/url/ 重定向到 /some/url

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

【问题讨论】:

  • 不要。如果 ULR 不引用实际文件,则应以斜杠结尾。
  • @Daniel 当页面是文章的列表或“文件夹”时,我宁愿看到尾部斜杠,而当页面是单篇文章时,我宁愿看到尾部斜杠。例如。 /category/ 用于文章列表,/category/article-title 用于单篇文章。它为用户提供有关他们可以期待什么类型的页面的信息。

标签: django


【解决方案1】:

我已经开始工作了。我在我的 URL RegEx 中添加了/?,就在末尾的$ 符号之前。然后我将此添加到我的views.py

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-03
    • 1970-01-01
    • 2018-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多