Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 没有名为';allauth.account.context#u处理器';_Python_Django_Packages_Django Allauth_Django Settings - Fatal编程技术网

Python 没有名为';allauth.account.context#u处理器';

Python 没有名为';allauth.account.context#u处理器';,python,django,packages,django-allauth,django-settings,Python,Django,Packages,Django Allauth,Django Settings,我想使用Django Allauth,所以我安装如下,它可以在我的笔记本电脑localhost中完美工作;但当我把它放进服务器时,我 遇到以下错误: No module named 'allauth.account.context_processors' 我该怎么办 # Django AllAuth TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates',

我想使用Django Allauth,所以我安装如下,它可以在我的笔记本电脑localhost中完美工作;但当我把它放进服务器时,我 遇到以下错误:

No module named 'allauth.account.context_processors'
我该怎么办

# Django AllAuth
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                # Already defined Django-related contexts here

                # `allauth` needs this from django
                'django.contrib.auth.context_processors.auth',
                'django.core.context_processors.request',

                # `allauth` specific context processors
                'allauth.account.context_processors.account',
                'allauth.socialaccount.context_processors.socialaccount',
                "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.core.context_processors.request",
                "moolak.context_processors.image",
            ],
        },
    },
]


AUTHENTICATION_BACKENDS = (
    # Needed to login by username in Django admin, regardless of `allauth`
    'django.contrib.auth.backends.ModelBackend',

    # `allauth` specific authentication methods, such as login by e-mail
    'allauth.account.auth_backends.AuthenticationBackend',
)

SOCIALACCOUNT_QUERY_EMAIL = True

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

SOCIALACCOUNT_PROVIDERS = \
    {'google':
        {'SCOPE': ['profile', 'email'],
         'AUTH_PARAMS': {'access_type': 'online'}}}


SOCIALACCOUNT_PROVIDERS = \
    {'facebook': {'SCOPE': ['email', 'public_profile', 'user_friends'], 'AUTH_PARAMS': {'auth_type': 'reauthenticate'}, 'METHOD': 'js_sdk', 'VERSION': 'v2.3'}}


# newsletter

NEWSLETTER_DEFAULT_HEADER_SENDER = 'NewsLetter <info@m.com>'
#Django AllAuth
模板=[
{
'BACKEND':'django.template.backends.django.DjangoTemplates',
'DIRS':[os.path.join(BASE_DIR,'templates'),
“应用程序目录”:正确,
“选项”:{
“上下文处理器”:[
#这里已经定义了Django相关上下文
#“allauth”需要django的这个
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.request',
#`allauth`特定上下文处理器
'allauth.account.context_processors.account',
“allauth.socialaccount.context\u processors.socialaccount”,
“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.core.context_processors.request”,
“moolak.context_processors.image”,
],
},
},
]
身份验证\u后端=(
#需要在Django admin中通过用户名登录,而不管'allauth'`
'django.contrib.auth.backends.ModelBackend',
#`allauth`特定的身份验证方法,如通过电子邮件登录
'allauth.account.auth_backends.AuthenticationBackend',
)
SOCIALACCOUNT\u QUERY\u EMAIL=True
EMAIL_BACKEND='django.core.mail.backends.console.EmailBackend'
社会账户提供者=\
{'google':
{'SCOPE':['profile','email'],
'AUTH_PARAMS':{'access_type':'online'}
社会账户提供者=\
{'facebook':{'SCOPE':['email','public_profile','user_friends'],'AUTH_PARAMS':{'AUTH_type':'reauthenticate'},'方法':'js_sdk','版本':'v2.3'}
#时事通讯
新闻稿\默认\标题\发件人='新闻稿'

我从未使用过Django Alluth,因此我是新手,请尽可能简单地帮助我。

此错误意味着无法找到模块

您可能只需要在服务器上安装名为
allauth
的第三方模块(或者将其添加到requirements.txt,如果您在Heroku上使用自动部署)

您可以在本地运行
pip freeze
,查看安装了哪些模块

要安装django allauth的特定版本,请使用:

pip install django-allauth==0.22.0

它与allauth 0.22.0有问题,请安装allauth 0.20.0

pip install django-allauth==0.20.0

这意味着您的开发机器和服务器中有不同版本的Allauth。你肯定应该在两边使用相同的版本

在django allauth的0.22版本中,您在服务器上遇到问题的原因是什么

您只需确保:

  • 您至少运行了Allauth 0.22,这是目前为止的最新版本(
    pip install django Allauth==0.22
  • Django项目设置中未列出任何特定于Allauth的上下文处理器。因此,您需要删除这两行:

  • 您可以在本地运行pipfreeze以查看安装了哪些模块

    要安装django allauth的特定版本,请使用。它将解决这个问题


    pip安装django allauth==0.22.0

    您的问题解决了吗?没有!这个问题没有解决!您是否运行了命令pip--freeze?allauth的版本是什么?在我们的项目中,我们也遇到了这个问题,但是当我们切换到以前版本的allauth时,问题是solvedAs@Andre提到您必须对以前版本的allauth执行pip install django allauth==0.21.0!django allauth==0.22.0这也是您在服务器上安装的版本?您是在virtualenv中安装的还是在全球范围内安装的?可能服务器使用的环境与您想象的不同,如果它在virtualenv中运行,在不同的Python版本(例如,2而不是3)上运行,或者您的服务器已损坏,则可能会发生这种情况。我是通过virtualenv安装的,Python 3.4Ok,酷。你确定你的服务器使用的是同一个环境吗?我觉得你自己添加了这个答案有点可笑,因为它已经出现在我的答案和评论中了:)Julen的答案也很好,因为它添加了一些背景。这肯定是答案,它解决了我的问题。如果allauth安装在
    应用程序中,那么该修复程序也适用于
    没有名为context\u processors的模块。我有Django 1.8.2+Django allauth 0.20.0,它可以很好地处理这两行代码。但是当升级到Django 1.9.3+Django allauth 0.24.1时,我出现了“importErrorat/admin/No模块名为'allauth.account.context_processors'的错误”。删除这两条线路修复了问题。
    
    pip install django-allauth==0.20.0
    
    # `allauth` specific context processors
    'allauth.account.context_processors.account',
    'allauth.socialaccount.context_processors.socialaccount',