2012-06-06 3 views
11

umleiten ich die ImportError "No module named django.contrib.auth" beide, wenn ich versuche, die django.shortcutsredirect Funktion zu verwenden, und wenn ich zu verwenden versuchen:Kein Modul namens django.contrib.auth, wenn die Dinge verwenden, die

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

ich es heraus kann nicht ein Zufall sein, dass der einzige Ort, an dem ich diesen Fehler treffe, an Orten liegt, wo die Seite umgeleitet wird, aber vielleicht ist es das auch. Ich weiß, dass der Benutzer nicht wirklich abgemeldet wird, so dass der Fehler auftritt, bevor Sie überhaupt zu einem Weiterleitungscode gelangen.

Unten ist meine urls.py Datei.

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

Was ist die vollständige URL-Konfiguration? Hast du ein [Präfix anzeigen] (https://docs.djangoproject.com/de/dev/topics/http/urls/#the-view-prefix) definiert? – Alasdair

Antwort

28

Sie mischen URL-Präfixe in Ihrem urlpatterns auf.

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

Django versuchen Ansichten in Bezug auf den angegebenen URL-Präfix zu finden, die in Ihrem Fall 'karma.views'. In diesem Modul gibt es keine 'django.contrib.auth.views.logout', daher erhalten Sie die ImportError.

die Logout-URL zu einem zweiten Block verschieben, z.B .:

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

das das Problem beheben soll.

+0

Ich habe das versucht und das Problem besteht fort. – Jason

+0

Meine Post damit aktualisiert. – Jason

+0

Aktualisiert meine Antwort, hoffe, dass hilft ... – cfedermann