2010-07-05 4 views
1

Я создаю файлы tar.gz с Django и сохраняю их где-то вроде /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_ROOT или другую настройку в settings. И поскольку Джеймс говорит, что вам обязательно нужно настроить настройку своего 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) 
Смежные вопросы