没有名为auth.urls的模块

0 投票
1 回答
898 浏览
提问于 2025-04-18 03:33

我正在尝试使用Django的社交认证来实现Google的登录,但遇到了以下错误:

No module named auth.urls

settings.py

AUTHENTICATION_BACKENDS = (
    'social_auth.backends.twitter.TwitterBackend',
    'social_auth.backends.facebook.FacebookBackend',
    'social_auth.backends.google.GoogleOAuthBackend',
    'social_auth.backends.google.GoogleOAuth2Backend',
    'social_auth.backends.google.GoogleBackend',
    'social_auth.backends.yahoo.YahooBackend',
    'social_auth.backends.browserid.BrowserIDBackend',
    'social_auth.backends.contrib.linkedin.LinkedinBackend',
    'social_auth.backends.contrib.disqus.DisqusBackend',
    'social_auth.backends.contrib.livejournal.LiveJournalBackend',
    'social_auth.backends.contrib.orkut.OrkutBackend',
    'social_auth.backends.contrib.foursquare.FoursquareBackend',
    'social_auth.backends.contrib.github.GithubBackend',
    'social_auth.backends.contrib.vk.VKOAuth2Backend',
    'social_auth.backends.contrib.live.LiveBackend',
    'social_auth.backends.contrib.skyrock.SkyrockBackend',
    'social_auth.backends.contrib.yahoo.YahooOAuthBackend',
    'social_auth.backends.contrib.readability.ReadabilityBackend',
    'social_auth.backends.contrib.fedora.FedoraBackend',
    'social_auth.backends.OpenIDBackend',
    'django.contrib.auth.backends.ModelBackend',
)

LOGIN_URL = '/login-form/'
LOGIN_REDIRECT_URL = '/logged-in/'
LOGIN_ERROR_URL = '/login-error/'

urls.py

urlpatterns = patterns('',
    # Examples:
    #(r'^$',main_page),
    url('',include('social.auth.urls'))

)

实际上,它指向的是urls.py文件。

1 个回答

1

社交认证应用设置:

INSTALLED_APPS = (
    ...
    'social_auth'
)

好的,我找到了你的问题。你使用的是 social.auth.urls,但你应该用 social_auth.urls

在 urls.py 文件中:

urlpatterns = patterns('',
    ...
    url(r'', include('social_auth.urls')),
    ...
)

链接 http://django-social-auth.readthedocs.org/en/latest/configuration.html

撰写回答