我试图让用户导出他们的一些数据库数据。我正在使用 django-webodt 从他们的数据中创建一个 .odt 文件。然后我试图让他们下载它。该文件创建得很好,但下载时似乎下载了一个空白文件。我认为服务器查找文件的位置与实际位置之间存在一些差异。我想知道如何让它正常工作?我对 django 比较陌生,所以任何帮助都将不胜感激。我的代码如下:
def downloadBook(request, val):
template = webodt.ODFTemplate('conversion.odt')
context = dict(ideas=Book.objects.getIdeaSet(int(val)))
document = template.render(Context(context))
file_name = os.path.basename(document.name)
path_to_file = os.path.dirname(document.name)
response = HttpResponse(mimetype='application/force-download')
response['Content-Disposition'] = 'attachment; filename=%s' % smart_str(file_name)
response['X-Sendfile'] = smart_str(path_to_file)
return response