我使用Django生成tar.gz文件并将其保存到/home/foo/foo.tar.gz
之类的地方,但我不知道在django视图下提供这些生成文件的好方法是什么。
我正在使用return HttpResponseRedirect("/home/foo/foo.tar.gz")
但它实际上不是一个提供tar.gz文件的好方法,因为生成的tar.gz文件路径从我的linux服务器的/
(根目录)开始相对路径。
感谢。
答案 0 :(得分:4)
只需发送in the response。
答案 1 :(得分:0)
如果你不想通过Django进行身份验证保护,你可以使用你的http服务器(nginx,lighttpd,apache等)来提供服务 - 这可以减少服务器的影响。
答案 2 :(得分:0)
您可以定义相对于MEDIA_ROOT
的重定向路径或settings
中的其他设置 - 正如James所说,如果您还没有,请务必考虑配置您的http服务器来处理这些文件。 / p>
# settings.py
TARBALL_ROOT = '/home/foo/tarballs/'
# views.py
import os
from django.conf import settings
def your_view(request):
# do some stuff
filepath = os.path.join(settings.TARBALL_ROOT, 'relative/path/from/media/root'
return HttpResponseRedirect(filepath)