From 5a9f4e8e1c107acbe61f4aaf0e73d67f4b420d46 Mon Sep 17 00:00:00 2001 From: antoliny0919 Date: Mon, 7 Jul 2025 20:42:29 +0900 Subject: [PATCH] Added django-components library and config. --- djangosnippets/settings/base.py | 20 +++++++++++++++++++- djangosnippets/settings/development.py | 6 ++++++ requirements/base.txt | 1 + 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/djangosnippets/settings/base.py b/djangosnippets/settings/base.py index 3e1fe1c5..76d884bd 100644 --- a/djangosnippets/settings/base.py +++ b/djangosnippets/settings/base.py @@ -1,4 +1,5 @@ import os +from pathlib import Path import dj_database_url from django.contrib import messages @@ -13,6 +14,7 @@ def user_url(user): PROJECT_ROOT = os.path.join(os.path.dirname(os.path.abspath(__file__)), os.pardir) +BASE_DIR = Path(__file__).resolve().parent.parent.parent SITE_ID = 1 SITE_NAME = "djangosnippets.org" @@ -68,6 +70,7 @@ def user_url(user): "theme", "django_recaptcha", "django_extensions", + "django_components", "rest_framework", "django_htmx", ) @@ -92,7 +95,6 @@ def user_url(user): { "BACKEND": "django.template.backends.django.DjangoTemplates", "DIRS": [os.path.join(PROJECT_ROOT, "templates")], - "APP_DIRS": True, "OPTIONS": { "context_processors": [ "django.contrib.auth.context_processors.auth", @@ -102,6 +104,16 @@ def user_url(user): "django.contrib.messages.context_processors.messages", "django.template.context_processors.request", ], + "loaders": [( + "django.template.loaders.cached.Loader", [ + "django.template.loaders.filesystem.Loader", + "django.template.loaders.app_directories.Loader", + "django_components.template_loader.Loader", + ] + )], + 'builtins': [ + 'django_components.templatetags.component_tags', + ], }, } ] @@ -109,6 +121,12 @@ def user_url(user): STATIC_URL = "/assets/static/" STATIC_ROOT = os.path.join(PROJECT_ROOT, "..", "assets", "static") STATICFILES_DIRS = (os.path.join(PROJECT_ROOT, "static"),) +STATICFILES_FINDERS = [ + "django.contrib.staticfiles.finders.FileSystemFinder", + "django.contrib.staticfiles.finders.AppDirectoriesFinder", + "django_components.finders.ComponentsFileSystemFinder", +] + TAILWIND_APP_NAME = "theme" SESSION_ENGINE = "django.contrib.sessions.backends.cached_db" diff --git a/djangosnippets/settings/development.py b/djangosnippets/settings/development.py index f4f1ba29..d8276dec 100644 --- a/djangosnippets/settings/development.py +++ b/djangosnippets/settings/development.py @@ -9,3 +9,9 @@ CACHE_BACKEND = "dummy://" INSTALLED_APPS = INSTALLED_APPS + +TEMPLATES[0]["OPTIONS"]["loaders"] = [ + "django.template.loaders.filesystem.Loader", + "django.template.loaders.app_directories.Loader", + "django_components.template_loader.Loader", +] diff --git a/requirements/base.txt b/requirements/base.txt index 70eb9f3c..618dc724 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -22,6 +22,7 @@ whitenoise==6.1.0 psycopg2-binary==2.9.10 djangorestframework==3.14.0 django-htmx==1.15.0 +django_components==0.141.1 gevent==22.10.2 # Updated version of gevent greenlet==3.0.3 # Updated version of greenlet requests-oauthlib==1.3.1