From 00d8a792d02e76b36660a16a646c9cb9f1c732c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9DNyymix=E2=80=9D?= Date: Wed, 30 Jul 2025 13:57:39 +0300 Subject: [PATCH] Set canonical_url domain in settings --- config/settings.py | 4 ++++ gallery/context_processors.py | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 gallery/context_processors.py diff --git a/config/settings.py b/config/settings.py index 6fdb9d2..3765eb6 100644 --- a/config/settings.py +++ b/config/settings.py @@ -32,6 +32,9 @@ LOCALE_PATHS = [ BASE_DIR / 'locale', ] +# Hostname for canonical_url +CANONICAL_HOST = "nyymix.net" + # Application definition INSTALLED_APPS = [ @@ -76,6 +79,7 @@ TEMPLATES = [ 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', + 'gallery.context_processors.canonical_url_processor', ], }, }, diff --git a/gallery/context_processors.py b/gallery/context_processors.py new file mode 100644 index 0000000..359d54f --- /dev/null +++ b/gallery/context_processors.py @@ -0,0 +1,16 @@ +from django.conf import settings + + +def canonical_url_processor(request): + if settings.DEBUG: + canonical_url = request.build_absolute_uri() + else: + current_host = request.get_host() + canonical_host = settings.CANONICAL_HOST + + if current_host != canonical_host: + canonical_url = f"{request.scheme}://{canonical_host}{request.get_full_path()}" + else: + canonical_url = request.build_absolute_uri() + + return {'canonical_url': canonical_url}