0

我正在训练在 Django 中下载文件。我找到了很多方法来做到这一点,没有人适合我。有谁能够帮我?这是我在views.py中的实际代码:

if form.is_valid():
        format = form.cleaned_data['format']
        x.saveCalculatedRoute( tempRoute+request.user.username, format )

        path_to_file = '/var/www/tottrack/media/zones/temp/marc.osm'
        response = HttpResponse(mimetype='application/force-download')
        response['Content-Disposition'] = 'attachment; filename=prova.osm' 
        response['X-Sendfile'] = smart_str(path_to_file)

        return response

它下载一个空文件,我该如何填写?坦克!!

4

1 回答 1

1

我个人会把这个文件放到媒体目录中,让你的服务器而不是 django 来做文件的流式传输,除非你真的需要它。

在 django 中提供静态文件确实效率低下,因此最好通过专门为提供数据而优化的 Web 服务器来执行此操作。

来自 django 文档https://docs.djangoproject.com/en/1.5/howto/static-files/#configuring-static-files

提供文件

除了这些配置步骤之外,您还需要实际提供静态文件。

在开发过程中,如果您使用 runserver 并且 DEBUG 设置为 True,这将自动完成(参见 django.contrib.staticfiles.views.serve())。

这种方法效率极低并且可能不安全,因此不适合生产。

有关在生产环境中提供静态文件的适当策略,请参阅部署静态文件。

于 2013-07-15T13:26:56.357 回答