Джанго: вернуть ответ и вернуться обратно вместе - PullRequest
0 голосов
/ 22 марта 2019

После отправки формы мне бы хотелось, чтобы произошли две вещи:

  • Форма сбрасывается (перезагрузите форму пусто) / или перенаправляется
  • Возвращает файл в виде вложения

Теперь я получаю диалог для загрузки файла, но форма не сбрасывается, не загружается повторно и не перенаправляется.Я могу изменить 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...