Django返回文件和模板

时间:2018-11-27 20:52:20

标签: python django

我目前有一个视图,该视图在提交表单后仅返回word文档。页面/模板完全不变。

def form_view(request):
    context = dict()

    if request.method == 'POST':
       #do a bunch of things
        http_word_response = HttpResponse(content_type='application/vnd.openxmlformats-officedocument.wordprocessingml.document')
        http_word_response['Content-Disposition'] = 'attachment; filename=%s' % filename
        doc.save(http_word_response)
        return http_word_response

     else:
       return render( request, 'mysite/form.html', context)

我想要它,以便它像返回文档一样返回文档,但是然后从上下文字典中更新页面。我知道如何将变量返回到模板中,但是在将其与返回文档组合时遇到了麻烦。

我尝试添加此内容:

return render(request, 'mysite/form.html', context, http_word_response)

而不是return http_word_response,但是它返回的文档实际上是我的整个html模板文件,而没有返回单词document。

如果需要的话,我并不反对返回URL或链接来下载文件,这种方式一直是最简单的,因为它不会在服务器端保存任何内容。

编辑: 一旦表单上的提交被击中,我想让它返回文档和上下文字典到模板。现在,它仅返回文档。

0 个答案:

没有答案