diff --git a/avatar/models.py b/avatar/models.py index a956b96..86f2a4f 100644 --- a/avatar/models.py +++ b/avatar/models.py @@ -9,7 +9,12 @@ from django.utils.hashcompat import md5_constructor from django.utils.encoding import smart_str from django.db.models import signals -from django.contrib.auth.models import User +try: + from django.contrib.auth import get_user_model +except ImportError: + from django.contrib.auth.models import User +else: + User = get_user_model() try: from cStringIO import StringIO diff --git a/avatar/templatetags/avatar_tags.py b/avatar/templatetags/avatar_tags.py index 39b4317..31eb589 100644 --- a/avatar/templatetags/avatar_tags.py +++ b/avatar/templatetags/avatar_tags.py @@ -7,7 +7,12 @@ from django.utils.translation import ugettext as _ from django.utils.hashcompat import md5_constructor from django.core.urlresolvers import reverse -from django.contrib.auth.models import User +try: + from django.contrib.auth import get_user_model +except ImportError: + from django.contrib.auth.models import User +else: + User = get_user_model() from avatar.settings import (AVATAR_GRAVATAR_BACKUP, AVATAR_GRAVATAR_DEFAULT, AVATAR_DEFAULT_SIZE, AVATAR_GRAVATAR_BASE_URL) diff --git a/avatar/tests.py b/avatar/tests.py index 74938ab..8f3b381 100644 --- a/avatar/tests.py +++ b/avatar/tests.py @@ -4,7 +4,12 @@ from django.test import TestCase from django.core.urlresolvers import reverse from django.conf import settings -from django.contrib.auth.models import User +try: + from django.contrib.auth import get_user_model +except ImportError: + from django.contrib.auth.models import User +else: + User = get_user_model() from avatar.settings import AVATAR_DEFAULT_URL, AVATAR_MAX_AVATARS_PER_USER from avatar.util import get_primary_avatar diff --git a/avatar/util.py b/avatar/util.py index d181085..ccb17be 100644 --- a/avatar/util.py +++ b/avatar/util.py @@ -4,7 +4,12 @@ from django.utils.hashcompat import md5_constructor from django.utils.encoding import smart_str from django.template.defaultfilters import slugify -from django.contrib.auth.models import User +try: + from django.contrib.auth import get_user_model +except ImportError: + from django.contrib.auth.models import User +else: + User = get_user_model() from avatar.settings import (AVATAR_DEFAULT_URL, AVATAR_CACHE_TIMEOUT, AUTO_GENERATE_AVATAR_SIZES, AVATAR_DEFAULT_SIZE) diff --git a/avatar/views.py b/avatar/views.py index 658bcc2..f90621d 100644 --- a/avatar/views.py +++ b/avatar/views.py @@ -7,7 +7,13 @@ from django.views.decorators.csrf import csrf_exempt from django.contrib import messages from django.contrib.auth.decorators import login_required -from django.contrib.auth.models import User + +try: + from django.contrib.auth import get_user_model +except ImportError: + from django.contrib.auth.models import User +else: + User = get_user_model() from avatar.forms import PrimaryAvatarForm, DeleteAvatarForm, UploadAvatarForm from avatar.models import Avatar diff --git a/setup.py b/setup.py index df35977..7dc32ca 100644 --- a/setup.py +++ b/setup.py @@ -92,12 +92,12 @@ template rendering system: ``{% avatar_url user [size in pixels] %}`` Renders the URL of the avatar for the given user. User can be either a - ``django.contrib.auth.models.User`` object instance or a username. + ``django.contrib.auth.get_user_model()`` object instance or a username. ``{% avatar user [size in pixels] %}`` - Renders an HTML ``img`` tag for the given user for the specified size. User - can be either a ``django.contrib.auth.models.User`` object instance or a - username. + Renders an HTML ``img`` tag for the given user for the specified size. User + can be either a ``django.contrib.auth.get_user_model()`` object instance + or a username. ``{% render_avatar avatar [size in pixels] %}`` Given an actual ``avatar.models.Avatar`` object instance, renders an HTML