Django 2.0:后退按钮会根据您的来源重定向到不同的页面

时间:2018-08-09 23:02:09

标签: html django django-templates

我正在使用Django 2.0,并具有一个带有列表视图和详细信息视图的模型A。您可以通过以下方式从列表视图转到详细信息视图:

ListView Html页上的按钮进入详细信息视图

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

Models.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:list将您带到ListView Html

这很简单。但是,如果我对另一个HTML页面进行了相同的处理,该怎么办。然后,我需要第二个“后退”按钮转到该新的html页面。真的很麻烦。

有没有一种方法可以创建一个可以返回到用户来自哪个页面的按钮?这可以是指向具有该按钮的任何页面的页面(并且您传递了一些可以让您回溯此页面的信息),或者您键入了URL并希望返回按钮可以返回到您访问的任何页面从。我对这两种方式都开放。

1 个答案:

答案 0 :(得分:0)

如果您需要后退按钮,则只需使用HTTP_REFERER标头

赞:

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

注意:您需要在django.core.context_processors.request中加入TEMPLATE_CONTEXT_PROCESSORS