如果条件为真,我想在视图内部调用详细视图,但是我总是遇到相同的错误:“上下文必须是字典而不是str。”
我的代码是:
class VotacionView(LoginRequiredMixin, FormMixin, DetailView, request):
model = Votacion
form_class = realizarVotacionForm
template_name = "RealizarVotacion.html"
success_url = reverse_lazy('home')
def __init__(self, **kwargs):
super().__init__(**kwargs)
def get_success_url(self):
return reverse('home')
def get_context_data(self, **kwargs):
if not self.object.voto_rectificable:
if UsuarioVotacion.objects.filter(user=self.request.user, Votacion=self.object).exists():
return reverse('estadisticasvotacionsimple', kwargs={'pk': self.object.pk})
more stuff...
您不能跳出get_context_data方法。但您可以这样做:
def get_success_url(self):
if self.jump:
return reverse('estadisticasvotacionsimple', kwargs={'pk': self.object.pk})
return reverse('home')
def get_context_data(self, **kwargs):
if not self.object.voto_rectificable:
if UsuarioVotacion.objects.filter(user=self.request.user, Votacion=self.object).exists():
self.jump=True
return super(Classname, self).get_context_data(**kwargs)
else:
self.jump=False
......