Python Social Auth-使用Google身份验证时出现导入错误
一个多月前,我成功地阅读了这篇博客: 当我创建一个新环境并重新创建步骤时,我现在得到一个导入错误,Python Social Auth-使用Google身份验证时出现导入错误,python,django,python-social-auth,Python,Django,Python Social Auth,一个多月前,我成功地阅读了这篇博客: 当我创建一个新环境并重新创建步骤时,我现在得到一个导入错误,在模板渲染期间没有名为google_auth的模块 它可以追溯到这一行: <a href="{% url 'social:begin' 'google-oauth2' %}?next={{ request.path }}">Login</a> 编辑:下面是完整的回溯 环境: 请求方法:获取 Django版本:1.7 Python版本:2.7.8 已安装的应用程序: (“dj
在模板渲染期间没有名为google_auth的模块
它可以追溯到这一行:
<a href="{% url 'social:begin' 'google-oauth2' %}?next={{ request.path }}">Login</a>
编辑:下面是完整的回溯
环境:
请求方法:获取
Django版本:1.7
Python版本:2.7.8
已安装的应用程序:
(“django.contrib.admin”,
“django.contrib.auth”,
“django.contrib.contenttypes”,
“django.contrib.sessions”,
“django.contrib.messages”,
“django.contrib.staticfiles”,
“图表”,
'social.apps.django_app.default',
“芹菜”,
“kombu.transport.django”(一个英文单词)
已安装的中间件:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
“django.middleware.csrf.CsrfViewMiddleware”,
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.xFrameOptions中间件',
“social.apps.django_app.middleware.SocialAuthExceptionMiddleware”,
'charts.middleware.SocialAuthExceptionMiddleware')
模板错误:
在template charts/templates/base.html中,第69行出现错误
没有名为google_auth的模块
59:
60:
61:
62:Hello,{{user.get_full_name}默认值:user.username}!
63:
64:
65 :
66:
67:{%else%}
68:
69 :
70:
71:{%endif%}
72:
73 :
74 :
75 :
76:{%block content%}
77:{%endblock%}
78 :
79 :
回溯:
get_响应中的文件“//anaconda/envs/analytics/lib/python2.7/site packages/django/core/handlers/base.py”
111响应=包装的回调(请求,*回调参数,**回调参数)
主页中的文件“/charts/views.py”
743上下文(实例=上下文)
文件“//anaconda/envs/analytics/lib/python2.7/site packages/django/shortcuts.py”,在render_to_响应中
23返回HttpResponse(loader.render_to_string(*args,**kwargs),**HttpResponse_kwargs)
文件“//anaconda/envs/analytics/lib/python2.7/site packages/django/template/loader.py”,位于render_to_字符串中
174返回t.render(上下文\实例)
render中的文件“//anaconda/envs/analytics/lib/python2.7/site packages/django/template/base.py”
148返回self.\u呈现(上下文)
文件“//anaconda/envs/analytics/lib/python2.7/site packages/django/template/base.py”位于
142返回self.nodelist.render(上下文)
render中的文件“//anaconda/envs/analytics/lib/python2.7/site packages/django/template/base.py”
844bit=self.render_节点(节点,上下文)
render_节点中的文件“//anaconda/envs/analytics/lib/python2.7/site packages/django/template/debug.py”
80返回node.render(上下文)
render中的文件“//anaconda/envs/analytics/lib/python2.7/site packages/django/template/loader_tags.py”
126返回编译的\u父对象。\u呈现(上下文)
文件“//anaconda/envs/analytics/lib/python2.7/site packages/django/template/base.py”位于
142返回self.nodelist.render(上下文)
render中的文件“//anaconda/envs/analytics/lib/python2.7/site packages/django/template/base.py”
844bit=self.render_节点(节点,上下文)
render_节点中的文件“//anaconda/envs/analytics/lib/python2.7/site packages/django/template/debug.py”
80返回node.render(上下文)
render中的文件“//anaconda/envs/analytics/lib/python2.7/site packages/django/template/defaulttags.py”
312返回nodelist.render(上下文)
render中的文件“//anaconda/envs/analytics/lib/python2.7/site packages/django/template/base.py”
844bit=self.render_节点(节点,上下文)
render_节点中的文件“//anaconda/envs/analytics/lib/python2.7/site packages/django/template/debug.py”
80返回node.render(上下文)
render中的文件“//anaconda/envs/analytics/lib/python2.7/site packages/django/template/defaulttags.py”
444url=reverse(查看\名称,args=args,kwargs=kwargs,当前\应用程序=上下文。当前\应用程序)
文件“//anaconda/envs/analytics/lib/python2.7/site packages/django/core/urlresolvers.py”的格式相反
517应用程序列表=解析器。应用程序目录[ns]
app_dict中的文件“//anaconda/envs/analytics/lib/python2.7/site packages/django/core/urlresolvers.py”
329自我.()
文件“//anaconda/envs/analytics/lib/python2.7/site packages/django/core/urlresolvers.py”位于
303appendlist(pattern.callback,(bits,p_pattern,pattern.default_args))
回调中的文件“//anaconda/envs/analytics/lib/python2.7/site packages/django/core/urlresolvers.py”
231self.\u callback=get\u callable(self.\u callback\u str)
包装器中的文件“//anaconda/envs/analytics/lib/python2.7/site packages/django/utils/lru_cache.py”
101结果=用户函数(*args,**kwds)
get_callable中的文件“//anaconda/envs/analytics/lib/python2.7/site packages/django/core/urlresolvers.py”
101非模块\u有\u子模块(导入\u模块(parentmod),submod)):
导入模块中的文件“//anaconda/envs/analytics/lib/python2.7/importlib/_init__.py”
37. __导入(名称)
异常类型:在/
异常值:没有名为google\u auth的模块
这是一个难题
这个错误,堆栈跟踪的第一行给出了一个线索:“回溯:…..wrapped\u callback…”
调用social.apps.django\u app.views.auth
视图,并将其包装在decoratorpsa
中。这最终会产生错误,但我认为django.core.handlers.base.get\u response
隐藏了实际的异常源。我认为,目前重新放置会使堆栈跟踪不完整
#settings.py
INSTALLED_APPS = (... , 'social.apps.django_app.default', ...)
AUTHENTICATION_BACKENDS = ('social.backends.google.GoogleOAuth2', 'django.contrib.auth.backends.ModelBackend')
TEMPLATE_CONTEXT_PROCESSORS = ('django.contrib.auth.context_processors.auth',
'django.core.context_processors.debug',
'django.core.context_processors.i18n',
'django.core.context_processors.media',
'django.core.context_processors.static',
'django.core.context_processors.tz',
'django.contrib.messages.context_processors.messages',
'social.apps.django_app.context_processors.backends',
'social.apps.django_app.context_processors.login_redirect')
#urls.py
urlpatterns = patterns('',
url('', include('social.apps.django_app.urls', namespace='social')),
url('', include('django.contrib.auth.urls', namespace='auth')),
url(r'^$', 'app.views.home', name='home'),
)
Environment:
Request Method: GET
Django Version: 1.7
Python Version: 2.7.8
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'charts',
'social.apps.django_app.default',
'djcelery',
'kombu.transport.django')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'social.apps.django_app.middleware.SocialAuthExceptionMiddleware',
'charts.middleware.SocialAuthExceptionMiddleware')
Template error:
In template charts/templates/base.html, error at line 69
No module named google_auth
59 : </ul>
60 : </li>
61 : <li>
62 : Hello, <strong>{{ user.get_full_name|default:user.username }}</strong>!
63 : </li>
64 : <li>
65 : <a href="{% url 'auth:logout' %}?next={{ request.path }}">Logout</a>
66 : </li>
67 : {% else %}
68 : <li>
69 : <a href=" {% url 'social:begin' 'google-oauth2' %} ?next={{ request.path }}">Login</a>
70 : </li>
71 : {% endif %}
72 : </ul>
73 : </nav>
74 : </head>
75 : <body>
76 : {% block content %}
77 : {% endblock %}
78 : <div id="footer">
79 : <center>
Traceback:
File "//anaconda/envs/analytics/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
111. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/charts/views.py" in home
743. context_instance=context)
File "//anaconda/envs/analytics/lib/python2.7/site-packages/django/shortcuts.py" in render_to_response
23. return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)
File "//anaconda/envs/analytics/lib/python2.7/site-packages/django/template/loader.py" in render_to_string
174. return t.render(context_instance)
File "//anaconda/envs/analytics/lib/python2.7/site-packages/django/template/base.py" in render
148. return self._render(context)
File "//anaconda/envs/analytics/lib/python2.7/site-packages/django/template/base.py" in _render
142. return self.nodelist.render(context)
File "//anaconda/envs/analytics/lib/python2.7/site-packages/django/template/base.py" in render
844. bit = self.render_node(node, context)
File "//anaconda/envs/analytics/lib/python2.7/site-packages/django/template/debug.py" in render_node
80. return node.render(context)
File "//anaconda/envs/analytics/lib/python2.7/site-packages/django/template/loader_tags.py" in render
126. return compiled_parent._render(context)
File "//anaconda/envs/analytics/lib/python2.7/site-packages/django/template/base.py" in _render
142. return self.nodelist.render(context)
File "//anaconda/envs/analytics/lib/python2.7/site-packages/django/template/base.py" in render
844. bit = self.render_node(node, context)
File "//anaconda/envs/analytics/lib/python2.7/site-packages/django/template/debug.py" in render_node
80. return node.render(context)
File "//anaconda/envs/analytics/lib/python2.7/site-packages/django/template/defaulttags.py" in render
312. return nodelist.render(context)
File "//anaconda/envs/analytics/lib/python2.7/site-packages/django/template/base.py" in render
844. bit = self.render_node(node, context)
File "//anaconda/envs/analytics/lib/python2.7/site-packages/django/template/debug.py" in render_node
80. return node.render(context)
File "//anaconda/envs/analytics/lib/python2.7/site-packages/django/template/defaulttags.py" in render
444. url = reverse(view_name, args=args, kwargs=kwargs, current_app=context.current_app)
File "//anaconda/envs/analytics/lib/python2.7/site-packages/django/core/urlresolvers.py" in reverse
517. app_list = resolver.app_dict[ns]
File "//anaconda/envs/analytics/lib/python2.7/site-packages/django/core/urlresolvers.py" in app_dict
329. self._populate()
File "//anaconda/envs/analytics/lib/python2.7/site-packages/django/core/urlresolvers.py" in _populate
303. lookups.appendlist(pattern.callback, (bits, p_pattern, pattern.default_args))
File "//anaconda/envs/analytics/lib/python2.7/site-packages/django/core/urlresolvers.py" in callback
231. self._callback = get_callable(self._callback_str)
File "//anaconda/envs/analytics/lib/python2.7/site-packages/django/utils/lru_cache.py" in wrapper
101. result = user_function(*args, **kwds)
File "//anaconda/envs/analytics/lib/python2.7/site-packages/django/core/urlresolvers.py" in get_callable
101. not module_has_submodule(import_module(parentmod), submod)):
File "//anaconda/envs/analytics/lib/python2.7/importlib/__init__.py" in import_module
37. __import__(name)
Exception Type: ImportError at /
Exception Value: No module named google_auth