由于"没有名为path.to的模块",Django allauth找不到/ accounts/login视图

Ben*_*Ben 5 python django django-allauth

我已经安装了django_allauth但是accounts/login视图显示了这个错误.

ImportError at /accounts/login/
No module named path.to
Request Method: GET
Request URL:    http://chew.local:5000/accounts/login/
Django Version: 1.5.1
Exception Type: ImportError
Exception Value:    
No module named path.to
Exception Location: /Users/benbowler/Sites/Repositories/chew/venv/lib/python2.7/site-packages/django/utils/importlib.py in import_module, line 35
Python Executable:  /Users/benbowler/Sites/Repositories/chew/venv/bin/python
Python Version: 2.7.2
Python Path:    
['/Users/benbowler/Sites/Repositories/chew',
 '/Users/benbowler/Sites/Repositories/chew/venv/bin',
 '/Users/benbowler/Sites/Repositories/chew/venv/lib/python2.7/site-packages/distribute-0.6.34-py2.7.egg',
 '/Users/benbowler/Sites/Repositories/chew/venv/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg',
 '/Users/benbowler/Sites/Repositories/chew/venv/lib/python27.zip',
 '/Users/benbowler/Sites/Repositories/chew/venv/lib/python2.7',
 '/Users/benbowler/Sites/Repositories/chew/venv/lib/python2.7/plat-darwin',
 '/Users/benbowler/Sites/Repositories/chew/venv/lib/python2.7/plat-mac',
 '/Users/benbowler/Sites/Repositories/chew/venv/lib/python2.7/plat-mac/lib-scriptpackages',
 '/Users/benbowler/Sites/Repositories/chew/venv/Extras/lib/python',
 '/Users/benbowler/Sites/Repositories/chew/venv/lib/python2.7/lib-tk',
 '/Users/benbowler/Sites/Repositories/chew/venv/lib/python2.7/lib-old',
 '/Users/benbowler/Sites/Repositories/chew/venv/lib/python2.7/lib-dynload',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
 '/Users/benbowler/Sites/Repositories/chew/venv/lib/python2.7/site-packages']
Server time:    Thu, 16 May 2013 15:01:20 +0100
Run Code Online (Sandbox Code Playgroud)

providers_media_js下面是红色:

Error during template rendering

In template /Users/benbowler/Sites/Repositories/chew/venv/lib/python2.7/site-packages/allauth/templates/socialaccount/snippets/login_extra.html, error at line 3
No module named path.to
1   {% load socialaccount %}
2   
3   **{% providers_media_js %}**
Run Code Online (Sandbox Code Playgroud)

Azd*_*325 12

看看你的设置.我认为你做了一个复制粘贴故障:

可能导致此错误的代码段来自https://django-allauth.readthedocs.org/en/latest/index.html?highlight=path.to#facebook

SOCIALACCOUNT_PROVIDERS = \
{
    'facebook':
    {
        'SCOPE': ['email', 'publish_stream'],
        'AUTH_PARAMS': {'auth_type': 'reauthenticate'},
        'METHOD': 'oauth2',
        'LOCALE_FUNC': 'path.to.callable',
        'VERIFIED_EMAIL': False
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为你的问题是LOCALE_FUNC因为你必须定义一个适当的功能而不是一个不存在的路径.

这是一些例子.如何成为Slideshare:https://speakerdeck.com/tedtieken/signing-up-and-signing-in-users-in-django-with-django-allauth ? slide = 55

SOCIALACCOUNT_PROVIDERS = \
{
    'facebook':
    {
        'SCOPE': ['email'],
        'AUTH_PARAMS': { 'auth_type': 'reauthenticate'},
        'METHOD': 'oauth2',
        'LOCALE_FUNC': lambda request: 'en_US'
    }
}
Run Code Online (Sandbox Code Playgroud)

希望这对你有所帮助

  • 我正在使用Django 1.6并遵循完全相同的教程,但是当我使用`'LOCALE_FUNC'时,我得到`SyntaxError:invalid syntax`错误:lambda request:在我的`settings.py`中返回'en_US',`.我不得不将它修改为''LOCALE_FUNC':lambda请求:'en_US',`它的工作原理. (4认同)