【发布时间】:2021-08-23 22:12:40
【问题描述】:
我有一个 Django 项目,其中有一个带有过滤器的 TableView。它可以从表中的行重定向到UpdateViews和DeleteViews,并且工作正常,并且UpdateView在成功时正确地重定向到TableView。
我的问题是,我无法将 UpdateView 重定向到 TableView,同时保留调用 UpdateView 时 TableView 具有的过滤器。
UpdateView 有这个 get_context_data 方法,我可以在其中发送过滤后的 URL:
def get_context_data(self, **kwargs):
context = super(SaleUpdateView, self).get_context_data(**kwargs)
...
context['referrer'] = self.request.META.get('HTTP_REFERER')
return context
我在 HTML 模板中创建了一个按钮来重定向到该引荐来源网址,该引荐来源网址应该重定向到过滤后的 TableView,但它会将我重定向到未过滤的 TableView。我认为这与我的form_valid 方法和get_success_url 方法有关:
def form_valid(self, form):
...
return HttpResponseRedirect(self.get_success_url())
def get_success_url(self, form):
...
return reverse_lazy('sale_list')
如何在get_success_url 方法的上下文中访问我发送到模板的self.request.META.get('HTTP_REFERER') 或referer 数据?
【问题讨论】:
标签: django