html - Django 2.0 : back button redirecting to different pages based on where you came from

标签 html django django-templates

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

ListView Html 页面上的按钮可转到详细信息 View

<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 页面 中,我有一个返回详细 View 的按钮。

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

其中 a:list 将您带到 ListView Html

这非常简单。但是,如果我对另一个 html 页面执行相同的过程会怎样?然后我需要第二个“后退”按钮才能转到这个新的 html 页面。它很快就会变得很麻烦。

有没有一种方法可以创建一个按钮,该按钮可以返回到用户来自的任何页面?这可以是任何有一个按钮可以转到此页面的页面(并且您传递了一些允许您回溯的信息),也可以是您输入的 url 并希望后退按钮返回您所访问的任何页面从。我对任何一种方式都持开放态度。

最佳答案

如果您需要后退按钮,您只需使用 HTTP_REFERER header

像这样:

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

注意:您的TEMPLATE_CONTEXT_PROCESSORS中需要有django.core.context_processors.request

关于html - Django 2.0 : back button redirecting to different pages based on where you came from,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51776862/

相关文章:

javascript - 检测浏览器对动画 GIF 图像的支持

html - 仅在访问时显示标题内容

python - Django 中的 "app"是什么?

Django 模板 : Get current URL in another language

python - Django : How to override the CSRF_FAILURE_TEMPLATE

django - 错误 404 - HTML 页面无法为主应用程序以外的其他应用程序呈现

html - 如何克服 Bootstrap 的默认样式?元素定位问题?

python - 根据对象值在基于类的 View Django 中应用装饰器

Python/Django : The view xxxxx didn't return an HttpResponse object. 它返回 None 而不是

html - 如何让div一直在底部居中?