我正在使用Django工具,我想知道是否有一种简单的方法可以使用模板系统创建到上一页的"后退"链接.
我认为在最坏的情况下,我可以从视图函数中的请求对象获取此信息,并将其传递给模板呈现方法,但我希望我能以某种方式避免所有这些样板代码.
我检查了Django模板文档,我没有看到任何明确提到这一点的内容.
我正在制作一个跟踪电视节目剧集的Django应用程序.这是针对某个Show实例上的页面.当用户点击添加/减去季节时,我希望页面将它们重定向到相同的详细视图,现在我将它显示在显示所有Show实例列表的索引上.
节目-detail.html
<form action="{% url 'show:addseason' show=show %}" method="post">
{% csrf_token %}
<button class="btn btn-default" type="submit">+</button>
</form>
<form action="{% url 'show:subtractseason' show=show %}" method="post">
{% csrf_token %}
<button class="btn btn-default" type="submit">-</button>
</form>
Run Code Online (Sandbox Code Playgroud)
views.py
class ShowDetail(DetailView):
model = Show
slug_field = "title"
slug_url_kwarg = "show"
template_name = 'show/show-detail.html'
class AddSeason(UpdateView):
model = Show
slug_field = 'title'
slug_url_kwarg = 'show'
fields = []
def form_valid(self, form):
instance = form.save(commit=False)
instance.season += 1
instance.save()
return redirect('show:index')
class SubtractSeason(UpdateView):
model = Show
slug_field = …Run Code Online (Sandbox Code Playgroud) 我已经看到这个问题,您可以使用以下命令重定向到上一页:
return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
但是有没有办法保持它所在的滚动位置?以上重新加载页面。