If I turn deprecation warnings into errors, here's the call stack.
File "/Users/josh/src/workdir/project/events/tests/test_views_register.py", line 84, in test_without_contact_address
response = self.client.get(reverse('events:register_payment', args=(self.order.pk,)))
File "/Users/josh/src/workdir/env/lib/python3.4/site-packages/django/core/urlresolvers.py", line 549, in reverse
app_list = resolver.app_dict[ns]
File "/Users/josh/src/workdir/env/lib/python3.4/site-packages/django/core/urlresolvers.py", line 351, in app_dict
self._populate()
File "/Users/josh/src/workdir/env/lib/python3.4/site-packages/django/core/urlresolvers.py", line 284, in _populate
for pattern in reversed(self.url_patterns):
File "/Users/josh/src/workdir/env/lib/python3.4/site-packages/django/core/urlresolvers.py", line 401, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/Users/josh/src/workdir/env/lib/python3.4/site-packages/django/core/urlresolvers.py", line 395, in urlconf_module
self._urlconf_module = import_module(self.urlconf_name)
File "/Users/josh/src/workdir/env/lib/python3.4/importlib/__init__.py", line 109, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
File "<frozen importlib._bootstrap>", line 1129, in _exec
File "<frozen importlib._bootstrap>", line 1471, in exec_module
File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
File "/Users/josh/src/workdir/project/project/urls.py", line 8, in <module>
import password_reset.urls
File "/Users/josh/src/workdir/env/lib/python3.4/site-packages/password_reset/urls.py", line 3, in <module>
from . import views
File "/Users/josh/src/workdir/env/lib/python3.4/site-packages/password_reset/views.py", line 4, in <module>
from django.contrib.sites.models import Site
File "/Users/josh/src/workdir/env/lib/python3.4/site-packages/django/contrib/sites/models.py", line 78, in <module>
class Site(models.Model):
File "/Users/josh/src/workdir/env/lib/python3.4/site-packages/django/db/models/base.py", line 116, in __new__
warnings.warn(msg, RemovedInDjango19Warning, stacklevel=2)
django.utils.deprecation.RemovedInDjango19Warning: Model class django.contrib.sites.models.Site doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
If I understand correctly, although django-password-reset 0.8 improved functionality for when the sites framework isn't being used, it looks like simply importing Site is enough to trigger the warning. I can think of a couple of possible solutions:
Does either of these approaches sound good? If so, I'll submit a PR.