Dynavera/config/views.py
2026-02-26 01:32:04 +00:00

16 lines
591 B
Python

import posixpath
from pathlib import Path
from django.utils._os import safe_join
from django.views.static import serve as static_serve
from django.views.decorators.csrf import ensure_csrf_cookie
@ensure_csrf_cookie
def serve_frontend(request, path, document_root = None):
print(f"Serving path: {path} from {document_root}")
path = posixpath.normpath(path).lstrip("/")
fullpath = Path(safe_join(document_root, path))
if fullpath.is_file():
return static_serve(request, path, document_root)
else:
return static_serve(request, "index.html", document_root)