From 1df784dbd6103d5af8d03633df0822dbcb93703c Mon Sep 17 00:00:00 2001 From: Horilla Date: Mon, 29 Jul 2024 16:42:54 +0530 Subject: [PATCH] [ADD] BASE: 404 for images --- base/urls.py | 1 + horilla/models.py | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/base/urls.py b/base/urls.py index 361d6d48c..a51d67f27 100644 --- a/base/urls.py +++ b/base/urls.py @@ -67,6 +67,7 @@ urlpatterns = [ views.initialize_database_job_position, name="initialize-database-job-position", ), + path("404", views.custom404, name="404"), path( "initialize-job-position-edit/", views.initialize_job_position_edit, diff --git a/horilla/models.py b/horilla/models.py index 0c4790d77..1820cdb53 100644 --- a/horilla/models.py +++ b/horilla/models.py @@ -2,11 +2,28 @@ from auditlog.models import AuditlogHistoryField from auditlog.registry import auditlog from django.contrib.auth.models import User from django.db import models +from django.db.models.fields.files import FieldFile +from django.urls import reverse from django.utils.translation import gettext as _ from horilla.horilla_middlewares import _thread_locals +@property +def url(self: FieldFile): + """ + Custom url attribute/property + """ + try: + self._require_file() + except Exception as e: + return reverse("404") + return self.storage.url(self.name) + + +setattr(FieldFile, "url", url) + + class HorillaModel(models.Model): created_at = models.DateTimeField( auto_now_add=True,