Fichiers des chants servis par X-Sendfile
This commit is contained in:
parent
c37c52cb5d
commit
75f024feaf
2 changed files with 22 additions and 1 deletions
|
|
@ -1,9 +1,12 @@
|
|||
from datetime import date, timedelta
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth.mixins import LoginRequiredMixin, PermissionRequiredMixin
|
||||
from django.http import HttpResponse
|
||||
from django.urls import reverse_lazy
|
||||
from django.views.generic import (
|
||||
CreateView, DeleteView, ListView, TemplateView, UpdateView
|
||||
CreateView, DeleteView, ListView, TemplateView, UpdateView, View
|
||||
)
|
||||
|
||||
from .forms import ChantEditForm, MembreEditForm
|
||||
|
|
@ -27,6 +30,22 @@ class ManifestView(TemplateView):
|
|||
content_type = "application/json"
|
||||
|
||||
|
||||
class MediaServeView(LoginRequiredMixin, View):
|
||||
subdir = ""
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
if request.get_host() == "localhost:8000":
|
||||
from django.views.static import serve
|
||||
|
||||
return serve(request, f"{self.subdir}/{kwargs['path']}", document_root=settings.MEDIA_ROOT)
|
||||
filepath = settings.MEDIA_ROOT / self.subdir / kwargs["path"]
|
||||
return HttpResponse(headers={
|
||||
"Content-Type": "application/force-download",
|
||||
"Content-Disposition": f'attachment; filename="{filepath.name}"',
|
||||
"X-Sendfile": str(filepath).encode("utf-8"),
|
||||
})
|
||||
|
||||
|
||||
class PresentationView(TemplateView):
|
||||
template_name="presentation.html"
|
||||
|
||||
|
|
|
|||
|
|
@ -27,4 +27,6 @@ urlpatterns = [
|
|||
path("membres/chants/<int:pk>/edit/", views.ChantEditView.as_view(), name="chant-edit"),
|
||||
path("membres/chants/<int:pk>/delete/", views.ChantDeleteView.as_view(), name="chant-delete"),
|
||||
path("membres/documents/", views.MediaView.as_view(prive=True), name="docs-membres"),
|
||||
|
||||
path("media/chants/<path:path>", views.MediaServeView.as_view(subdir="chants")),
|
||||
]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue