2012-06-06 10 views
11

Me da la ImportError "No module named django.contrib.auth" tanto cuando trato de utilizar la función de django.shortcutsredirect y cuando trato de usar:módulo denominado django.contrib.auth al usar cosas que redirigen

(r'^logout/$', 'django.contrib.auth.views.logout', {'next_page': '/'}), 

Calculo que no puede sea ​​una coincidencia que el único lugar donde llego a este error es en los lugares donde se redirige la página, pero quizás sí. Sé que el usuario no se está desconectando realmente, por lo que el error ocurre antes de que llegue a un código de redireccionamiento.

A continuación se muestra mi archivo urls.py.

import django.contrib.auth.views 
from django.conf.urls.defaults import * 
import django.contrib.auth 

from django.contrib import admin 
admin.autodiscover() 

urlpatterns = patterns('karma.views', 
(r'^$', 'homepage'), 
(r'^logout/$', 'django.contrib.auth.views.logout', {'next_page': '/'}), 
(r"^opportunities/nearby$", 'draw_map'), 


(r'^admin/', include(admin.site.urls)), 
url(r'', include('social_auth.urls')), 
(r'^profile/', include('karmup.profile.urls')), 
) 
+0

¿Cuál es la configuración de url completa? ¿Tiene un [prefijo de vista] (https://docs.djangoproject.com/en/dev/topics/http/urls/#the-view-prefix) definido? – Alasdair

Respuesta

28

está mezclando hasta prefijos de URL en su urlpatterns.

urlpatterns = patterns('karma.views', 
    (r'^$', 'homepage'), 
    (r'^logout/$', 'django.contrib.auth.views.logout', {'next_page': '/'}), 
    (r"^opportunities/nearby$", 'draw_map'), 
) 

Django trata de encontrar puntos de vista en relación con el prefijo URL dada, en su caso 'karma.views'. Dentro de este módulo, no hay 'django.contrib.auth.views.logout', por lo tanto obtienes el ImportError.

Mover la URL de cierre de sesión a un segundo bloque, por ejemplo .:

urlpatterns += patterns('', 
    (r'^logout/$', 'django.contrib.auth.views.logout', {'next_page': '/'}), 
) 

Eso debería resolver su problema.

+0

Intenté esto y el problema persiste. – Jason

+0

Actualicé mi publicación con ella. – Jason

+0

Actualicé mi respuesta, espero que ayude ... – cfedermann

Cuestiones relacionadas