summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/context_processors.py4
-rw-r--r--main/templatetags/cdn.py10
-rw-r--r--settings.py10
3 files changed, 19 insertions, 5 deletions
diff --git a/main/context_processors.py b/main/context_processors.py
new file mode 100644
index 0000000..a60d4e6
--- /dev/null
+++ b/main/context_processors.py
@@ -0,0 +1,4 @@
+def secure(request):
+ return {'secure': request.is_secure()}
+
+# vim: set ts=4 sw=4 et:
diff --git a/main/templatetags/cdn.py b/main/templatetags/cdn.py
index ef6bb14..ff45e52 100644
--- a/main/templatetags/cdn.py
+++ b/main/templatetags/cdn.py
@@ -11,13 +11,13 @@ class JQueryNode(template.Node):
def render(self, context):
# if we have the request in context, we can check if it is secure and
# serve content from HTTPS instead.
- secure = 'request' in context and context['request'].is_secure()
+ secure = 'secure' in context and context['secure']
+ prefixes = { False: 'http', True: 'https' }
version = '1.4.2'
oncdn = getattr(settings, 'CDN_ENABLED', True)
- if oncdn and secure:
- jquery = 'https://ajax.googleapis.com/ajax/libs/jquery/%s/jquery.min.js' % version
- elif oncdn:
- jquery = 'http://ajax.googleapis.com/ajax/libs/jquery/%s/jquery.min.js' % version
+ if oncdn:
+ jquery = '%s://ajax.googleapis.com/ajax/libs/jquery/' \
+ '%s/jquery.min.js' % (prefixes[secure], version)
else:
jquery = '/media/jquery-%s.min.js' % version
return '<script type="text/javascript" src="%s"></script>' % jquery
diff --git a/settings.py b/settings.py
index 3a7db39..ea87c2c 100644
--- a/settings.py
+++ b/settings.py
@@ -52,6 +52,16 @@ TEMPLATE_LOADERS = (
'django.template.loaders.app_directories.load_template_source',
)
+# We add a processor to determine if the request is secure or not
+TEMPLATE_CONTEXT_PROCESSORS = (
+ 'django.contrib.auth.context_processors.auth',
+ 'django.core.context_processors.debug',
+ 'django.core.context_processors.i18n',
+ 'django.core.context_processors.media',
+ 'django.contrib.messages.context_processors.messages',
+ 'main.context_processors.secure',
+)
+
# This bug is a real bummer:
# http://code.djangoproject.com/ticket/14105
MIDDLEWARE_CLASSES = (