После отправки формы мне бы хотелось, чтобы произошли две вещи:
- Форма сбрасывается (перезагрузите форму пусто) / или перенаправляется
- Возвращает файл в виде вложения
Теперь я получаю диалог для загрузки файла, но форма не сбрасывается, не загружается повторно и не перенаправляется.Я могу изменить get_success_url
, но тогда я не получаю диалог загрузки
Я попытался выяснить, как это сделать, но мне нужно помочь / намекнуть, как я должен думать, чтобы иметь возможность его решить.
Как можно получить диалоговое окно загрузки в то время, когда форма сбрасывается после успешного приема данных?
Упрощенный код ниже:
urls.py
urlpatterns = [
path('product/csv/', ProductFormView.get_csv, name='product-csv'),
]
views.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