From f8b820c1dbaa0b95c7034f96fb15e9c404ec328e Mon Sep 17 00:00:00 2001 From: Hugo Osvaldo Barrera Date: Sun, 6 Dec 2015 13:40:52 -0300 Subject: [PATCH] Only import django.contrib.site if it's in use Since django1.7, importing models for uninitialized apps is not supported, so Site if the app has been configured/initialized. --- analytical/templatetags/chartbeat.py | 2 +- analytical/tests/test_tag_chartbeat.py | 2 +- analytical/utils.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/analytical/templatetags/chartbeat.py b/analytical/templatetags/chartbeat.py index e47f104..3b0e7d8 100644 --- a/analytical/templatetags/chartbeat.py +++ b/analytical/templatetags/chartbeat.py @@ -8,7 +8,6 @@ import json import re from django.conf import settings -from django.contrib.sites.models import Site from django.core.exceptions import ImproperlyConfigured from django.template import Library, Node, TemplateSyntaxError @@ -109,6 +108,7 @@ def _get_domain(context): if 'django.contrib.sites' not in settings.INSTALLED_APPS: return elif getattr(settings, 'CHARTBEAT_AUTO_DOMAIN', True): + from django.contrib.sites.models import Site try: return Site.objects.get_current().domain except (ImproperlyConfigured, Site.DoesNotExist): # pylint: disable=E1101 diff --git a/analytical/tests/test_tag_chartbeat.py b/analytical/tests/test_tag_chartbeat.py index 70b8435..19f062c 100644 --- a/analytical/tests/test_tag_chartbeat.py +++ b/analytical/tests/test_tag_chartbeat.py @@ -4,7 +4,6 @@ Tests for the Chartbeat template tags and filters. import re -from django.contrib.sites.models import Site from django.http import HttpRequest from django.template import Context from django.test import TestCase @@ -31,6 +30,7 @@ class ChartbeatTagTestCaseWithSites(TestCase): call_command("migrate", verbosity=0) def test_rendering_setup_site(self): + from django.contrib.sites.models import Site site = Site.objects.create(domain="test.com", name="test") with override_settings(SITE_ID=site.id): r = ChartbeatBottomNode().render(Context()) diff --git a/analytical/utils.py b/analytical/utils.py index d3b6ecd..14d124b 100644 --- a/analytical/utils.py +++ b/analytical/utils.py @@ -3,7 +3,6 @@ Utility function for django-analytical. """ from django.conf import settings -from django.contrib.sites.models import Site from django.core.exceptions import ImproperlyConfigured @@ -100,6 +99,7 @@ def get_domain(context, prefix): domain = getattr(settings, 'ANALYTICAL_DOMAIN', None) if domain is None: if 'django.contrib.sites' in settings.INSTALLED_APPS: + from django.contrib.sites.models import Site try: domain = Site.objects.get_current().domain except (ImproperlyConfigured, Site.DoesNotExist):