python - 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
解决方案
推荐阅读
- jar - Katalon 将外部 jar 作为依赖项而不是项目资源?
- jmeter - JMeter - 如果控制器不适用于某些字符串包含条件?
- php - Laravel Pusher 不做任何日志
- ios - iOS 图表库:在 Linechart 中,图例重叠
- c# - 修改Winforms中DateTimePicker控件中的“今天”
- java - 如何使用方言“Mvel”检查流口水中的 if 语句值?
- reactjs - 无法将日期和时间传递到下一个屏幕反应原生
- mysql - 以毫秒为单位的 Mysql 插入
- django-models - 如何在 django 中合并两个模型
- python - scipy.interpolate.Rbf() 的插值不准确