mirror of
https://github.com/jazzband/django-downloadview.git
synced 2026-03-16 22:40:25 +00:00
38 lines
1,012 B
Python
38 lines
1,012 B
Python
import os
|
|
|
|
from django.conf import settings
|
|
from django.core.files.storage import FileSystemStorage
|
|
|
|
from django_downloadview import StorageDownloadView
|
|
from django_downloadview.apache import x_sendfile
|
|
|
|
storage_dir = os.path.join(settings.MEDIA_ROOT, "apache")
|
|
storage = FileSystemStorage(
|
|
location=storage_dir, base_url="".join([settings.MEDIA_URL, "apache/"])
|
|
)
|
|
|
|
|
|
optimized_by_middleware = StorageDownloadView.as_view(
|
|
storage=storage, path="hello-world.txt"
|
|
)
|
|
|
|
|
|
optimized_by_decorator = x_sendfile(
|
|
StorageDownloadView.as_view(storage=storage, path="hello-world.txt"),
|
|
source_url=storage.base_url,
|
|
destination_dir="/apache-optimized-by-decorator/",
|
|
)
|
|
|
|
|
|
def _modified_headers(request):
|
|
view = StorageDownloadView.as_view(storage=storage, path="hello-world.txt")
|
|
response = view(request)
|
|
response["X-Test"] = "header"
|
|
return response
|
|
|
|
|
|
modified_headers = x_sendfile(
|
|
_modified_headers,
|
|
source_url=storage.base_url,
|
|
destination_dir="/apache-modified-headers/",
|
|
)
|