使用重定向时,没有名为django.contrib.auth的模块

使用重定向时,没有名为django.contrib.auth的模块,django,redirect,importerror,Django,Redirect,Importerror,在尝试使用django.shortcuts重定向函数和尝试使用以下两种方法时,我都会得到ImportError“No module named django.contrib.auth”: (r'^logout/$', 'django.contrib.auth.views.logout', {'next_page': '/'}), 我想这不可能是巧合,我遇到这个错误的唯一地方是页面被重定向的地方,但可能是。我知道用户实际上并没有注销,所以错误发生在您访问任何重定向代码之前 下面是我的URL.py

在尝试使用
django.shortcuts
重定向
函数和尝试使用以下两种方法时,我都会得到
ImportError“No module named django.contrib.auth”

(r'^logout/$', 'django.contrib.auth.views.logout', {'next_page': '/'}),
我想这不可能是巧合,我遇到这个错误的唯一地方是页面被重定向的地方,但可能是。我知道用户实际上并没有注销,所以错误发生在您访问任何重定向代码之前

下面是我的URL.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')),
)

您在
urlpatterns
中混淆了URL前缀

urlpatterns = patterns('karma.views',
  (r'^$', 'homepage'),
  (r'^logout/$', 'django.contrib.auth.views.logout', {'next_page': '/'}),
  (r"^opportunities/nearby$", 'draw_map'),
)
Django尝试查找相对于给定URL前缀的视图,在您的例子中是
“karma.views”
。在该模块中,没有“django.contrib.auth.views.logout”,因此您将获得
ImportError

将注销URL移动到第二个块,例如:

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

这应该可以解决您的问题。

完整的url配置是什么?你有明确的目标吗?