首页 > 解决方案 > Django:一起返回响应和返回反向

问题描述

提交表单后,我希望发生两件事:

现在,我得到了下载文件的对话框,但表单没有重置/重新加载空/也没有重定向。我可以修改get_success_url,但我没有得到下载对话框

我已经尝试弄清楚如何做到这一点,但需要帮助/提示我应该如何解决它。

在成功接受数据后重置表单的同时获得下载对话的解决方案是什么?

简化代码如下:

网址.py

urlpatterns = [
path('product/csv/', ProductFormView.get_csv, name='product-csv'),
]

视图.py

class ProductFormView(FormView):
    form_class = ProductForm
    model = Product

    def form_valid(self, form):
        self.object = form.save()
        return super().form_valid(form)

    def get_success_url(self):
        return reverse('product-csv')

    def get_csv(request):
        csv = FileDB.objects.latest('id').csvfile
        response = HttpResponse(content_type='application/CSV')
        response.write(csv.ToString())
        response['Content-Disposition'] = 'attachment; filename='f" {filename} + .csv"
        return response

标签: pythondjangoformsurl

解决方案


推荐阅读