Django session midleware работает локально, но не работает на производстве
Я работаю над проектом, в котором я не хочу, чтобы кто-либо имел доступ к моим медиа через прямую ссылку, например: https://www.xxx.sa/media/reports_images/report_bfc4242c.png. Я использовал промежуточное ПО сессии, и оно работает идеально, но когда дело доходит до производства, оно не работает.
Вот мой код
class GatedContent(MiddlewareMixin):
def process_request(self, request):
path = request.path
user = request.user
disallow_user = False
for gated in settings.GATED_CONTENT:
if path.startswith(gated) or path.endswith(gated):
report_uuid = path.split("/")[-1].split('.')[0]
if gated == REPORT_IMAGE_PATH:
report_image = get_object_or_404(ReportImage, uuid=report_uuid)
elif gated == COMMENT_IMAGE_PATH:
report_image = get_object_or_404(ReportComment, uuid=report_uuid)
if user.is_staff:
disallow_user = False
elif report_image.report.triage:
if report_image.report.triage.user == user:
disallow_user = False
else:
disallow_user = True
else:
disallow_user = True
break
# Validate the user is an authenticated/valid user
if disallow_user:
raise Http404
Итак, что здесь не так