重定向到django中的同一页
每次尝试重定向到django中的同一页面时,我都会遇到一个错误,即“太多重定向错误”。我尝试使用returnHttpResponseRedirect(“”)和return-HttpResponseRedirect(self.request.path\u info)这两种方法分别给出了一个空白屏幕和一个ERR\u过多的重定向。我也尝试过:重定向到django中的同一页,django,django-models,django-templates,django-views,Django,Django Models,Django Templates,Django Views,每次尝试重定向到django中的同一页面时,我都会遇到一个错误,即“太多重定向错误”。我尝试使用returnHttpResponseRedirect(“”)和return-HttpResponseRedirect(self.request.path\u info)这两种方法分别给出了一个空白屏幕和一个ERR\u过多的重定向。我也尝试过: **views.py** class Test(DetailView): def get(self, request, *args, **kwargs):
**views.py**
class Test(DetailView):
def get(self, request, *args, **kwargs):
self.object = self.get_object()
if check.objects.filter(active=True):
return redirect(reverse('service', kwargs={"pk": self.object.pk}))
else:
render(self.request, 'page/details.html') # redirect to same page.
url.py
path('test//details',test.as_view(),name='details'),
路径('check/secure/',Others.as_view(),name='service'),
上述问题最终通过以下方式得到解决:
在视图中,您可以呈现页面,而不是像这样重定向到页面
class Test(DetailView):
def get(self, request, *args, **kwargs):
self.object = self.get_object()
if check.objects.filter(active=True):
return redirect(reverse('service', kwargs={"pk": self.object.pk}))
else:
return render(self.request, 'page/details.html', {'jobs': Jobs.objects.all()}) # redirect to same page.
然后在模板中,您可以使用forloop呈现列表
{% for job in jobs %}
{{ job }}
{% endfor %}
希望这有帮助 评论不用于扩展讨论;这段对话已经结束。
{% for job in jobs %}
{{ job }}
{% endfor %}