diff --git a/lemoncurry/settings/base.py b/lemoncurry/settings/base.py index 891c646..17562cc 100644 --- a/lemoncurry/settings/base.py +++ b/lemoncurry/settings/base.py @@ -64,6 +64,7 @@ INSTALLED_APPS = [ 'django.contrib.contenttypes', 'django.contrib.humanize', 'django.contrib.sessions', + 'django.contrib.sites', 'django.contrib.sitemaps', 'django.contrib.messages', 'django.contrib.staticfiles', @@ -95,6 +96,7 @@ MIDDLEWARE = [ 'django_otp.middleware.OTPMiddleware', 'django_agent_trust.middleware.AgentMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', + 'django.contrib.sites.middleware.CurrentSiteMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] @@ -198,22 +200,18 @@ COMPRESS_PRECOMPILERS = ( MEDIA_URL = STATIC_URL + 'media/' MEDIA_ROOT = os.path.join(STATIC_ROOT, 'media') - -# Settings specific to lemoncurry -LEMONCURRY_SITE_NAME = '00dani.me' +# django-contrib-sites +# https://docs.djangoproject.com/en/dev/ref/contrib/sites/ +SITE_ID = 1 # django-agent-trust # https://pythonhosted.org/django-agent-trust/ AGENT_COOKIE_SECURE = True -# django-otp -# https://django-otp-official.readthedocs.io/en/latest/overview.html -OTP_TOTP_ISSUER = LEMONCURRY_SITE_NAME - # django-meta # https://django-meta.readthedocs.io/en/latest/settings.html META_SITE_PROTOCOL = 'https' -META_SITE_NAME = LEMONCURRY_SITE_NAME +META_USE_SITES = True META_USE_OG_PROPERTIES = True META_USE_TWITTER_PROPERTIES = True diff --git a/lemoncurry/templatetags/lemoncurry_tags.py b/lemoncurry/templatetags/lemoncurry_tags.py index df1aae5..9295f34 100644 --- a/lemoncurry/templatetags/lemoncurry_tags.py +++ b/lemoncurry/templatetags/lemoncurry_tags.py @@ -1,6 +1,7 @@ from django import template from django.conf import settings +from django.contrib.sites.models import Site from django.urls import reverse from ..utils import load_package_json, origin, uri @@ -34,7 +35,7 @@ def request_uri(request): @register.simple_tag def site_name(): - return settings.LEMONCURRY_SITE_NAME + return Site.objects.get_current().name @register.inclusion_tag('lemoncurry/tags/nav.html') diff --git a/lemoncurry/utils.py b/lemoncurry/utils.py index 814dfcf..59a3d73 100644 --- a/lemoncurry/utils.py +++ b/lemoncurry/utils.py @@ -15,7 +15,7 @@ def load_package_json(): def origin(request): - return '{0}://{1}'.format(request.scheme, request.META['HTTP_HOST']) + return '{0}://{1}'.format(request.scheme, request.site.domain) def uri(request): diff --git a/wellknowns/views/host_meta.py b/wellknowns/views/host_meta.py index 4687bb5..9dd722e 100644 --- a/wellknowns/views/host_meta.py +++ b/wellknowns/views/host_meta.py @@ -19,7 +19,7 @@ def add_links(request, dest): def host_meta(request): h = XRD() h.attributes.append(Attribute('xmlns:hm', 'http://host-meta.net/ns/1.0')) - h.elements.append(Element('hm:Host', request.META['HTTP_HOST'])) + h.elements.append(Element('hm:Host', request.site.domain)) add_links(request, h.links) return h diff --git a/wellknowns/views/manifest.py b/wellknowns/views/manifest.py index e9acd7d..11e4d1e 100644 --- a/wellknowns/views/manifest.py +++ b/wellknowns/views/manifest.py @@ -1,4 +1,3 @@ -from django.conf import settings from django.http import JsonResponse from django.urls import reverse from favicon.models import FaviconImg @@ -10,12 +9,11 @@ from textwrap import shorten def manifest(request): base = utils.origin(request) - name = settings.LEMONCURRY_SITE_NAME start_url = reverse('home:index') + '?utm_source=homescreen' app = { - 'name': name, - 'short_name': shorten(name, width=20, placeholder=''), + 'name': request.site.name, + 'short_name': shorten(request.site.name, width=20, placeholder=''), 'display': 'browser', 'start_url': urljoin(base, start_url),