media: require staff login for media access
parent
7d74e5d908
commit
a2cbae2c8e
@ -0,0 +1,16 @@
|
|||||||
|
from django.http import HttpResponse
|
||||||
|
from django.views.static import serve
|
||||||
|
from django.conf import settings
|
||||||
|
from django.contrib.admin.views.decorators import staff_member_required
|
||||||
|
|
||||||
|
@staff_member_required
|
||||||
|
def media_access(request, path):
|
||||||
|
if settings.DEBUG:
|
||||||
|
# if DEBUG is enabled, directly serve file
|
||||||
|
return serve(request, path, document_root=settings.MEDIA_ROOT)
|
||||||
|
# otherwise create a redirect to the internal nginx endpoint at /protected
|
||||||
|
response = HttpResponse()
|
||||||
|
# Content-type will be detected by nginx
|
||||||
|
del response['Content-Type']
|
||||||
|
response['X-Accel-Redirect'] = '/protected/' + path
|
||||||
|
return response
|
||||||
Loading…
Reference in New Issue