【问题标题】:Redirect a user to previous page django将用户重定向到上一页 django
【发布时间】:2020-12-08 09:59:02
【问题描述】:

假设我们有一个带有博客模型的简单 Django 应用程序。

只有 3 页:

  1. 首页
  2. 博客索引
  3. 博文详情

博客文章列在 3 个位置:

  1. 在主页上的滑块中
  2. 在博客索引中(当然)
  3. 在博文底部

我在网站上看到的使用面包屑的主要方法有两种:

  1. 首页 / 博客 / 博客文章

我希望能够让“

我知道这可以通过 JavaScript 完成。

但是对于 Django,我听到人们在另一篇文章中说“你不应该在模板中重定向,你应该在视图中做”,但对我来说这没有任何意义,因为视图应该如何知道自动返回哪个页面?

无论如何,我想看到的是:

您将如何链接回您从访问博客文章的源页面(即另一篇文章、主页或博客索引)使用 Django 视图或在 Django 模板中?

【问题讨论】:

    标签: django django-views django-templates


    【解决方案1】:

    我们可以使用 Django 视图中的请求对象来查找引用链接。

    下面是代码:

    request.META['HTTP_REFERER']
    

    您可以将以下代码添加到您的模板上下文中,以将链接添加到您的模板上下文中

    {'previous_page': request.META['HTTP_REFERER']}
    

    然后,我们可以使用包含按钮的链接在用户按下按钮时将其重定向到上一页。

    <a href = "{{previous_page}}"><button type="button">Back</button></a>
    

    更多关于 request.META 字典的信息在这里:

    https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.META

    希望对你有帮助

    【讨论】:

    • 完美!这正是我想要的,谢谢!
    • @ZackPlauché 不客气!
    猜你喜欢
    • 1970-01-01
    • 2015-09-01
    • 2021-07-23
    • 1970-01-01
    • 1970-01-01
    • 2017-07-23
    • 2016-11-02
    • 2017-08-15
    • 1970-01-01
    相关资源
    最近更新 更多