feat: add whitenoise for static files serving
Some checks failed
CI/CD Pipeline / Build Docker Images (push) Has been cancelled
CI/CD Pipeline / Push to Gitea Registry (push) Has been cancelled
CI/CD Pipeline / Deploy to Server (push) Has been cancelled
CI/CD Pipeline / Code Quality Checks (push) Has been cancelled
CI/CD Pipeline / Run Tests (push) Has been cancelled

This commit is contained in:
2026-02-02 15:45:20 +01:00
parent 80c01f2df1
commit e6af252f29
3 changed files with 24 additions and 160 deletions

View File

@@ -51,6 +51,7 @@ dependencies = [
"django-jazzmin>=2.6.2",
"playwright>=1.57.0",
"pylint>=3.0",
"whitenoise>=6.11.0",
]
[project.optional-dependencies]

View File

@@ -1,13 +1,14 @@
# This file was autogenerated by uv via the following command:
# uv export --no-hashes
alabaster==0.7.16
# via sphinx
# uv export --no-hashes --no-dev
-e .
amqp==5.3.1
# via kombu
asgiref==3.11.0
# via
# django
# django-cors-headers
astroid==4.0.3
# via pylint
async-timeout==5.0.1 ; python_full_version < '3.11.3'
# via redis
attrs==25.4.0
@@ -18,19 +19,14 @@ attrs==25.4.0
# twisted
automat==25.4.16
# via twisted
babel==2.17.0
# via sphinx
bandit==1.7.5
beautifulsoup4==4.12.3
# via mostovik-backend
billiard==4.2.4
# via celery
black==23.12.1
celery==5.3.6
# via
# django-celery-beat
# django-celery-results
# flower
# mostovik-backend
certifi==2026.1.4
# via
@@ -39,20 +35,15 @@ certifi==2026.1.4
cffi==2.0.0 ; (implementation_name != 'pypy' and os_name == 'nt') or platform_python_implementation != 'PyPy'
# via
# cryptography
# gevent
# trio
cfgv==3.5.0
# via pre-commit
charset-normalizer==3.4.4
# via requests
click==8.1.7
# via
# black
# celery
# click-didyoumean
# click-plugins
# click-repl
# typer
click-didyoumean==0.3.1
# via celery
click-plugins==1.1.1.2
@@ -61,10 +52,8 @@ click-repl==0.3.0
# via celery
colorama==0.4.6 ; sys_platform == 'win32'
# via
# bandit
# click
# pytest
# sphinx
# pylint
constantly==23.10.4
# via twisted
coreapi==2.3.3
@@ -74,8 +63,6 @@ coreapi==2.3.3
# openapi-codec
coreschema==0.0.4
# via coreapi
coverage==7.4.0
# via pytest-cov
cron-descriptor==2.0.6
# via django-celery-beat
cryptography==42.0.5
@@ -90,20 +77,16 @@ cssselect==1.3.0
# scrapy
defusedxml==0.7.1
# via scrapy
distlib==0.4.0
# via virtualenv
dill==0.4.1
# via pylint
django==3.2.25
# via
# django-celery-beat
# django-celery-results
# django-cors-headers
# django-debug-toolbar
# django-extensions
# django-filter
# django-jazzmin
# django-redis
# django-stubs
# django-stubs-ext
# django-timezone-field
# djangorestframework
# djangorestframework-simplejwt
@@ -116,8 +99,6 @@ django-celery-results==2.5.1
# via mostovik-backend
django-cors-headers==4.3.1
# via mostovik-backend
django-debug-toolbar==4.2.0
django-extensions==3.2.3
django-filter==23.5
# via mostovik-backend
django-jazzmin==2.6.2
@@ -126,9 +107,6 @@ django-redis==5.4.0
# via mostovik-backend
django-rest-swagger==2.2.0
# via mostovik-backend
django-stubs==4.2.7
django-stubs-ext==5.2.9
# via django-stubs
django-timezone-field==7.2.1
# via django-celery-beat
djangorestframework==3.14.0
@@ -139,10 +117,6 @@ djangorestframework==3.14.0
# mostovik-backend
djangorestframework-simplejwt==5.3.1
# via mostovik-backend
docutils==0.20.1
# via
# sphinx
# sphinx-rtd-theme
drf-yasg==1.21.10
# via mostovik-backend
et-xmlfile==2.0.0
@@ -154,44 +128,25 @@ faker==40.1.2
# factory-boy
# mostovik-backend
filelock==3.20.3
# via
# tldextract
# virtualenv
flake8==6.1.0
flower==2.0.1
gevent==23.9.1
gitdb==4.0.12
# via gitpython
gitpython==3.1.46
# via bandit
# via tldextract
greenlet==3.3.0
# via
# gevent
# playwright
gunicorn==21.2.0
# via playwright
h11==0.16.0
# via wsproto
humanize==4.15.0
# via flower
hyperlink==21.0.0
# via twisted
identify==2.6.16
# via pre-commit
idna==3.11
# via
# hyperlink
# requests
# tldextract
# trio
imagesize==1.4.1
# via sphinx
incremental==24.11.0
# via twisted
inflection==0.5.1
# via drf-yasg
iniconfig==2.3.0
# via pytest
isort==5.13.2
# via pylint
itemadapter==0.13.1
# via
# itemloaders
@@ -201,9 +156,7 @@ itemloaders==1.3.2
itypes==1.2.0
# via coreapi
jinja2==3.1.6
# via
# coreschema
# sphinx
# via coreschema
jmespath==1.0.1
# via
# itemloaders
@@ -214,25 +167,12 @@ lxml==6.0.2
# via
# parsel
# scrapy
markdown-it-py==3.0.0
# via rich
markupsafe==3.0.3
# via
# jinja2
# werkzeug
# via jinja2
mccabe==0.7.0
# via flake8
mdurl==0.1.2
# via markdown-it-py
# via pylint
model-bakery==1.17.0
# via mostovik-backend
mypy==1.8.0
mypy-extensions==1.1.0
# via
# black
# mypy
nodeenv==1.10.0
# via pre-commit
numpy==1.24.4
# via
# mostovik-backend
@@ -247,36 +187,23 @@ outcome==1.3.0.post0
# trio-websocket
packaging==25.0
# via
# black
# drf-yasg
# gunicorn
# incremental
# kombu
# parsel
# pytest
# scrapy
# sphinx
pandas==2.0.3
# via mostovik-backend
parsel==1.10.0
# via
# itemloaders
# scrapy
pathspec==1.0.3
# via black
pillow==12.1.0
# via mostovik-backend
platformdirs==4.5.1
# via
# black
# virtualenv
# via pylint
playwright==1.57.0
# via mostovik-backend
pluggy==1.6.0
# via pytest
pre-commit==3.6.0
prometheus-client==0.24.1
# via flower
prompt-toolkit==3.0.52
# via click-repl
protego==0.5.0
@@ -289,34 +216,22 @@ pyasn1==0.6.2
# service-identity
pyasn1-modules==0.4.2
# via service-identity
pycodestyle==2.11.1
# via flake8
pycparser==2.23 ; (implementation_name != 'PyPy' and implementation_name != 'pypy' and os_name == 'nt') or (implementation_name != 'PyPy' and platform_python_implementation != 'PyPy')
# via cffi
pydispatcher==2.0.7 ; platform_python_implementation == 'CPython'
# via scrapy
pyee==13.0.0
# via playwright
pyflakes==3.1.0
# via flake8
pygments==2.19.2
# via
# rich
# sphinx
pyjwt==2.10.1
# via djangorestframework-simplejwt
pylint==4.0.4
# via mostovik-backend
pyopenssl==25.1.0
# via scrapy
pypydispatcher==2.1.2 ; platform_python_implementation == 'PyPy'
# via scrapy
pysocks==1.7.1
# via urllib3
pytest==7.4.4
# via
# pytest-cov
# pytest-django
pytest-cov==4.1.0
pytest-django==4.7.0
python-crontab==3.3.0
# via django-celery-beat
python-dateutil==2.8.2
@@ -335,14 +250,10 @@ pytz==2024.1
# django
# djangorestframework
# drf-yasg
# flower
# mostovik-backend
# pandas
pyyaml==6.0.3
# via
# bandit
# drf-yasg
# pre-commit
# via drf-yasg
queuelib==1.8.0
# via scrapy
redis==5.0.3
@@ -354,13 +265,9 @@ requests==2.31.0
# coreapi
# mostovik-backend
# requests-file
# sphinx
# tldextract
requests-file==3.0.1
# via tldextract
rich==14.2.0
# via bandit
ruff==0.1.14
scrapy==2.11.2
# via mostovik-backend
selenium==4.17.2
@@ -373,47 +280,18 @@ simplejson==3.20.2
# via django-rest-swagger
six==1.17.0
# via python-dateutil
smmap==5.0.2
# via gitdb
sniffio==1.3.1
# via trio
snowballstemmer==3.0.1
# via sphinx
sortedcontainers==2.4.0
# via trio
soupsieve==2.8.2
# via beautifulsoup4
sphinx==7.2.6
# via
# sphinx-rtd-theme
# sphinxcontrib-jquery
sphinx-rtd-theme==2.0.0
sphinxcontrib-applehelp==2.0.0
# via sphinx
sphinxcontrib-devhelp==2.0.0
# via sphinx
sphinxcontrib-htmlhelp==2.1.0
# via sphinx
sphinxcontrib-jquery==4.1
# via sphinx-rtd-theme
sphinxcontrib-jsmath==1.0.1
# via sphinx
sphinxcontrib-qthelp==2.0.0
# via sphinx
sphinxcontrib-serializinghtml==2.0.0
# via sphinx
sqlparse==0.5.5
# via
# django
# django-debug-toolbar
stevedore==5.6.0
# via bandit
# via django
tldextract==5.3.1
# via scrapy
tomli==2.4.0 ; python_full_version <= '3.11'
# via coverage
tornado==6.5.4
# via flower
tomlkit==0.14.0
# via pylint
trio==0.32.0
# via
# selenium
@@ -422,23 +300,13 @@ trio-websocket==0.12.2
# via selenium
twisted==25.5.0
# via scrapy
typer==0.9.0
types-pytz==2025.2.0.20251108
# via django-stubs
types-pyyaml==6.0.12.20250915
# via django-stubs
types-requests==2.31.0.20240125
typing-extensions==4.15.0
# via
# cron-descriptor
# django-stubs
# django-stubs-ext
# mypy
# pyee
# pyopenssl
# selenium
# twisted
# typer
tzdata==2025.3
# via
# celery
@@ -454,28 +322,22 @@ urllib3==2.6.3
# via
# requests
# selenium
# types-requests
vine==5.1.0
# via
# amqp
# celery
# kombu
virtualenv==20.36.1
# via pre-commit
w3lib==2.3.1
# via
# parsel
# scrapy
watchdog==3.0.0
wcwidth==0.2.14
# via prompt-toolkit
werkzeug==3.0.1
whitenoise==6.11.0
# via mostovik-backend
wsproto==1.3.2
# via trio-websocket
zope-event==6.1
# via gevent
zope-interface==8.2
# via
# gevent
# scrapy
# twisted

View File

@@ -166,6 +166,7 @@ MIDDLEWARE = [
"apps.core.middleware.RequestIDMiddleware",
"corsheaders.middleware.CorsMiddleware",
"django.middleware.security.SecurityMiddleware",
"whitenoise.middleware.WhiteNoiseMiddleware",
"django.contrib.sessions.middleware.SessionMiddleware",
"django.middleware.common.CommonMiddleware",
"django.middleware.csrf.CsrfViewMiddleware",