diff --git a/CHANGELOG.md b/CHANGELOG.md index a67b6d8..81d2d9a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -58,4 +58,10 @@ ### Added - Updated manifest.json by adding scope parameter. - Updated serviceworker.js add scope dynamic parameter - \ No newline at end of file + + ## 1.0.7 + + ### Fixed + - Fix PWA if app is not mounted in root of webserver + ### Added + - Allow use of view names in PWA_APP_SCOPE, PWA_START_URL, PWA_APP_FETCH_URL and PWA_APP_ROOT diff --git a/pwa/app_settings.py b/pwa/app_settings.py index 444a5a6..ed33652 100644 --- a/pwa/app_settings.py +++ b/pwa/app_settings.py @@ -1,7 +1,12 @@ """ Settings required by django-app. """ from django.conf import settings +from django.shortcuts import resolve_url +from django.urls import get_script_prefix import os +# Get script prefix for apps not mounted under / +_PWA_SCRIPT_PREFIX = get_script_prefix() + # Path to the service worker implementation. Default implementation is empty. PWA_SERVICE_WORKER_PATH = getattr(settings, 'PWA_SERVICE_WORKER_PATH', os.path.join(os.path.abspath(os.path.dirname(__file__)), 'templates', @@ -9,15 +14,15 @@ PWA_SERVICE_WORKER_PATH = getattr(settings, 'PWA_SERVICE_WORKER_PATH', # App parameters to include in manifest.json and appropriate meta tags PWA_APP_NAME = getattr(settings, 'PWA_APP_NAME', 'MyApp') PWA_APP_DESCRIPTION = getattr(settings, 'PWA_APP_DESCRIPTION', 'My Progressive Web App') -PWA_APP_ROOT_URL = getattr(settings, 'PWA_APP_ROOT_URL', '/') +PWA_APP_ROOT_URL = resolve_url(getattr(settings, 'PWA_APP_ROOT_URL', _PWA_SCRIPT_PREFIX)) PWA_APP_THEME_COLOR = getattr(settings, 'PWA_APP_THEME_COLOR', '#000') PWA_APP_BACKGROUND_COLOR = getattr(settings, 'PWA_APP_BACKGROUND_COLOR', '#fff') PWA_APP_DISPLAY = getattr(settings, 'PWA_APP_DISPLAY', 'standalone') -PWA_APP_SCOPE = getattr(settings, 'PWA_APP_SCOPE', '/') +PWA_APP_SCOPE = resolve_url(getattr(settings, 'PWA_APP_SCOPE', _PWA_SCRIPT_PREFIX)) PWA_APP_DEBUG_MODE = getattr(settings, 'PWA_APP_DEBUG_MODE', True) PWA_APP_ORIENTATION = getattr(settings, 'PWA_APP_ORIENTATION', 'any') -PWA_APP_START_URL = getattr(settings, 'PWA_APP_START_URL', '/') -PWA_APP_FETCH_URL = getattr(settings, 'PWA_APP_FETCH_URL', '/') +PWA_APP_START_URL = resolve_url(getattr(settings, 'PWA_APP_START_URL', _PWA_SCRIPT_PREFIX)) +PWA_APP_FETCH_URL = resolve_url(getattr(settings, 'PWA_APP_FETCH_URL', _PWA_SCRIPT_PREFIX)) PWA_APP_ICONS = getattr(settings, 'PWA_APP_ICONS', [ { 'src': '/static/images/icons/icon-72x72.png',