From c65f8ba382b609ef1301866ca7b20aa440965ab6 Mon Sep 17 00:00:00 2001 From: Xavier Ordoquy Date: Mon, 6 Nov 2017 15:06:47 +0100 Subject: [PATCH] Move django.contrib.auth import out of compat. Fixed some regressions where compat was imported during app loading and led to importing django.contrib.auth.models which ended in a `AppRegistryNotReady` exception. --- rest_framework/compat.py | 9 --------- rest_framework/urls.py | 12 +++++++++++- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/rest_framework/compat.py b/rest_framework/compat.py index ce821402e..456c8b20d 100644 --- a/rest_framework/compat.py +++ b/rest_framework/compat.py @@ -11,7 +11,6 @@ import inspect import django from django.apps import apps from django.conf import settings -from django.contrib.auth import views from django.core.exceptions import ImproperlyConfigured, ValidationError from django.core.validators import \ MaxLengthValidator as DjangoMaxLengthValidator @@ -334,11 +333,3 @@ def authenticate(request=None, **credentials): else: return authenticate(request=request, **credentials) -if django.VERSION < (1, 11): - login = views.login - login_kwargs = {'template_name': 'rest_framework/login.html'} - logout = views.logout -else: - login = views.LoginView.as_view(template_name='rest_framework/login.html') - login_kwargs = {} - logout = views.LogoutView.as_view() diff --git a/rest_framework/urls.py b/rest_framework/urls.py index 60107d4d2..10cc5def0 100644 --- a/rest_framework/urls.py +++ b/rest_framework/urls.py @@ -14,9 +14,19 @@ and you should make sure your authentication settings include `SessionAuthentica """ from __future__ import unicode_literals +import django from django.conf.urls import url +from django.contrib.auth import views + +if django.VERSION < (1, 11): + login = views.login + login_kwargs = {'template_name': 'rest_framework/login.html'} + logout = views.logout +else: + login = views.LoginView.as_view(template_name='rest_framework/login.html') + login_kwargs = {} + logout = views.LogoutView.as_view() -from rest_framework.compat import login, login_kwargs, logout app_name = 'rest_framework' urlpatterns = [