无法在我的Django项目中使用Django-allauth

时间:2015-10-29 03:54:45

标签: django django-allauth django-settings

成为一名Django新手,面临使用Django-allauth和我的项目的问题。我成功地在项目的virtualenv中安装了Django-allauth软件包,并且还在settings.py文件中进行了相关更改,以便为我的项目配置相同的内容。

我还检查了“requirements.txt”文件,它有一行“django-allauth == 0.23.0”。但是,一旦我尝试运行'python manage.py migrate'命令,我得到一个ImportError说:没有名为allauth的模块。

以下是我的settings.py代码:

Settings.py

...
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.sites',
    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    'allauth.socialaccount.providers.facebook',
    'allauth.socialaccount.providers.google',
    'myapp_v1',
)

SITE_ID = 1

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder'
)

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static"),
)

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'django.middleware.security.SecurityMiddleware',
)

ROOT_URLCONF = 'myapp.urls'

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'django.template.context_processors.request',
            ],
        },
    },
]

AUTHENTICATION_BACKENDS = (
    'django.contrib.auth.backends.ModelBackend',
    'allauth.account.auth_backends.AuthenticationBackend',
)
...

如果我在这里遗失了什么,请告诉我。

1 个答案:

答案 0 :(得分:1)

由于我们在评论中的讨论确定了问题,我将发布我的答案。 我建议您使用几种方法。

  • 卸载其中一个python版本,因为你实际上并不需要运行两个python。或者,从环境变量中删除其中一个python路径,以便CLI和项目使用相同的版本。

  • 使用Pycharm,这个IDE允许您通过其界面使用特定的python版本,并允许您为所选版本安装软件包。

  • 关注stackoverflow上的this thread。这是您在上次评论中提出的类似问题。