summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main/templatetags/cdn.py20
1 files changed, 18 insertions, 2 deletions
diff --git a/main/templatetags/cdn.py b/main/templatetags/cdn.py
index 96181c16..43a7f4bc 100644
--- a/main/templatetags/cdn.py
+++ b/main/templatetags/cdn.py
@@ -9,8 +9,7 @@ def jquery(parser, token):
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.
+ # serve content from HTTPS if we know this request is secure
secure = 'secure' in context and context['secure']
prefixes = { False: 'http', True: 'https' }
version = '1.4.3'
@@ -22,4 +21,21 @@ class JQueryNode(template.Node):
jquery = '/media/jquery-%s.min.js' % version
return '<script type="text/javascript" src="%s"></script>' % jquery
+@register.tag
+def cdnprefix(parser, token):
+ return CDNPrefixNode()
+
+class CDNPrefixNode(template.Node):
+ def render(self, context):
+ oncdn = getattr(settings, 'CDN_ENABLED', True)
+ if not oncdn:
+ return ''
+ secure = 'secure' in context and context['secure']
+ # if left undefined, same behavior as if CDN is turned off
+ paths = {
+ False: getattr(settings, 'CDN_PATH', ''),
+ True: getattr(settings, 'CDN_PATH_SECURE', ''),
+ }
+ return paths[secure]
+
# vim: set ts=4 sw=4 et: