Fix: better handle favicon with static dir (#10107)

This commit is contained in:
shamoon
2025-06-03 08:05:59 -07:00
committed by GitHub
parent 1512599f4f
commit 4e082f997c
3 changed files with 34 additions and 15 deletions

View File

@@ -1,5 +1,5 @@
import os
from collections import OrderedDict
from pathlib import Path
from allauth.mfa import signals
from allauth.mfa.adapter import get_adapter as get_mfa_adapter
@@ -11,8 +11,9 @@ from allauth.socialaccount.adapter import get_adapter
from allauth.socialaccount.models import SocialAccount
from django.contrib.auth.models import Group
from django.contrib.auth.models import User
from django.contrib.staticfiles.storage import staticfiles_storage
from django.db.models.functions import Lower
from django.http import HttpResponse
from django.http import FileResponse
from django.http import HttpResponseBadRequest
from django.http import HttpResponseForbidden
from django.http import HttpResponseNotFound
@@ -92,16 +93,12 @@ class StandardPagination(PageNumberPagination):
class FaviconView(View):
def get(self, request, *args, **kwargs): # pragma: no cover
favicon = os.path.join(
os.path.dirname(__file__),
"static",
"paperless",
"img",
"favicon.ico",
)
with open(favicon, "rb") as f:
return HttpResponse(f, content_type="image/x-icon")
def get(self, request, *args, **kwargs):
try:
path = Path(staticfiles_storage.path("paperless/img/favicon.ico"))
return FileResponse(path.open("rb"), content_type="image/x-icon")
except FileNotFoundError:
return HttpResponseNotFound("favicon.ico not found")
class UserViewSet(ModelViewSet):