common/tcommon/views/static.py

37 lines
987 B
Python
Raw Normal View History

2024-12-20 21:18:31 -05:00
from django.http import HttpResponse
from django.urls import path
2024-12-20 23:44:40 -05:00
from django.views.decorators.cache import cache_control
2024-12-20 21:18:31 -05:00
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"
}
2024-12-20 23:44:40 -05:00
urlpatterns = [path(i, cache_control(**{"max-age": 60 * 60 * 24 * 30})(get_static_serve(i, file_associations[i.split(".")[-1]]))) for i in [
2024-12-20 21:18:31 -05:00
"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"
]]