Есть ли простой способ сделать следующее?Django HttpResponse - ответ с файлом и содержимым
после получения запроса на вид, отправить обратно пользователю файл, а также повторно отображенный шаблон страницы? что-то вроде «слияния» réponse с файлом и render_to_response
Это, как я возвращаю ответ с файлом:
filename = "/path/to/somewhere"
wrapper = FileWrapper(open(filename))
content_type = mimetypes.guess_type(filename)[0]
response = HttpResponse(wrapper,content_type=content_type)
response['Content-Length'] = os.path.getsize(filename)
response['Content-Disposition'] = "attachment; filename=%s"%filename
return response
Это, как я вернуть обычный шаблон с оказанными данными:
data = getData()
return render_to_response('../templates/some_template.html', {'data': data,})
(Возможно, я отбросил некоторые важные строки с копией, но, чтобы понять, что этот код работает, проблема заключается не в этих двух образцах кода)
вопрос: как мне «объединить» их обоих вместе? Есть ли простой способ сделать это с помощью стандартных функций django? Должен ли я использовать Ajax для этого? (Я не знаком с AJAX ... так что если есть способ сделать это без, это предпочтительнее)
Спасибо,
Я не могу представить себе, что вы хотите, чтобы пользователь, чтобы увидеть/получить здесь. Как это будет работать? –
Что вы просите, это два содержания в пределах одного ответа? Нет простого способа сделать это. Вероятно, вам стоит пойти с Ajax. –
Daniel - У меня есть кнопка на странице, в которой я хочу, чтобы она выполняла 2 задания сразу - отправьте файл обратно пользователю и обновите раздел «div» на странице с новыми данными.возможно, то, что я предлагал здесь (с использованием сразу 2 запроса), не является решением, но приветствуется любая идея о том, как получить правильный пользовательский опыт. – nivniv