代码之家  ›  专栏  ›  技术社区  ›  Micah Pearce

Django 2.0:返回按钮,根据你来自哪里重定向到不同的页面

  •  0
  • Micah Pearce  · 技术社区  · 7 年前

    我使用的是Django 2.0,有一个带有列表视图和细节视图的模型a。可以按以下方式从列表视图转到详细视图:

    按钮打开 ListView Html

    <td><a href="{{ a.get_absolute_url }}" class="btn btn-primary" class>View</a></td>
    

    型号.py

    def get_absolute_url(self):
            return reverse("a:detail", kwargs={'a_id': self.a_id})
    

    然后在 DetailView Html Page 我有一个按钮返回到细节视图。

    <a href="{% url 'a:list' %}" class="btn btn-primary" class>Back</a>
    

    a:列表带您到 列表视图Html

    这很直截了当。但是,如果我为另一个html页面做了同样的处理呢。然后我需要第二个“后退”按钮来转到这个新的html页面。很快就会变得很麻烦。

    有没有一种方法,你可以创建一个按钮,将返回到任何页面的用户来自?这可以是任何一个页面,它有一个按钮可以转到这个页面(你传入一些信息,让你可以回溯这个),也可以是你键入的网址,并希望返回按钮回到任何网页你来。我对任何一种方式都持开放态度。

    1 回复  |  直到 7 年前
        1
  •  1
  •   vishes_shell hendrixski    7 年前

    如果你需要后退按钮,你可以简单地使用 HTTP_REFERER

    这样地:

    <a href="{{ request.META.HTTP_REFERER }}" class="btn btn-primary" class>Back</a>
    

    注: 你需要有 django.core.context_processors.request TEMPLATE_CONTEXT_PROCESSORS .

    推荐文章