2010-07-05 44 views
1

我正在用Django生成tar.gz文件,并将它保存到/home/foo/foo.tar.gz之类的地方,但我不知道在django视图下提供这些生成文件的好方法。如何通过django提供生成的文件

我正在使用return HttpResponseRedirect("/home/foo/foo.tar.gz"),但它实际上不是一个好的方法来提供tar.gz文件,因为生成的tar.gz文件路径从我的linux服务器的/(根目录)开始,而不是相对路径。

谢谢。

回答

0

如果你不打算通过Django进行身份验证,你可以使用http服务器(nginx,lighttpd,apache等)来提供服务 - 这可以降低服务器的影响。

0

您可以定义相对于MEDIA_ROOTsettings中的另一个设置的重定向路径 - 正如James所说的,如果您尚未配置http服务器来处理这些文件,那么您一定要考虑配置它。

# 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) 
相关问题