common/tcommon/views/static.py
2024-12-20 21:24:37 -05:00

36 lines
966 B
Python

from django.http import HttpResponse
from django.urls import path
from django.views.decorators.cache import cache_page
from tcommon.settings import STATIC_DIR
def get_static_serve(path: str, content_type: str):
def x(request):
return HttpResponse(
open(STATIC_DIR / path, "rb").read(),
content_type=content_type
)
x.__name__ = path
return x
file_associations = {
"js": "text/javascript",
"css": "text/css",
"ttf": "font/ttf"
}
urlpatterns = [path(i, cache_page(60 * 60 * 24 * 30)(get_static_serve(i, file_associations[i.split(".")[-1]]))) for i in [
"css/base.css",
"js/theme.js",
"font/DejaVuSans-Bold.ttf",
"font/DejaVuSans-BoldItalic.ttf",
"font/DejaVuSans-Italic.ttf",
"font/DejaVuSans-Oblique.ttf",
"font/DejaVuSans.ttf",
"font/UbuntuMono-Bold.ttf",
"font/UbuntuMono-BoldItalic.ttf",
"font/UbuntuMono-Italic.ttf",
"font/UbuntuMono-Regular.ttf"
]]