【问题标题】:Display message after HttpResponseRedirect in Django Class Based View在 Django 基于类的视图中显示 HttpResponseRedirect 后的消息
【发布时间】:2017-05-10 22:53:22
【问题描述】:

要么我睡眠不足,要么我错过了一些明显的东西。

无论我做什么,在 HttpResponseRedirect 之后,我都无法从基于类的视图中显示消息。

这是我的看法:

class Add(SuccessMessageMixin, LoginRequiredMixin, CreateView):
    template_name = "apps/add.html"
    form_class = forms.Add
    success_message = "Report was added successfully"

    def form_valid(self, form):
        team = get_object_or_404(t_models.Team, owner=self.request.user)
        self.object = form.save(commit=False)
        self.object.team = team
        self.object.recorded_by = self.request.user
        self.object.save()
        form.save_m2m()
        return HttpResponseRedirect(self.get_success_url())

    def get_success_url(self):
        return reverse('thing_detail', kwargs={'pk': self.object.id})

到目前为止,我已经仔细检查了所有会话设置是否正确,所有消息设置正确,并且我已经重新启动了 VE 并刷新了缓存。

有什么建议吗?

【问题讨论】:

    标签: django django-class-based-views django-messages


    【解决方案1】:

    尝试将您的 mixin 重新排序为 Add(LoginRequiredMixin, SuccessMessageMixin, CreateView):

    【讨论】:

      猜你喜欢
      • 2015-12-12
      • 1970-01-01
      • 1970-01-01
      • 2014-09-14
      • 1970-01-01
      • 2020-10-11
      • 2020-05-19
      • 2014-07-04
      • 1970-01-01
      相关资源
      最近更新 更多