如何解决名为' social'的本地应用之间的冲突和' python-social-auth'在settings.py?

时间:2015-04-26 14:20:56

标签: python django python-social-auth

我有一个Django应用程序,其中我想要包含社交登录,所以我决定选择' python-social-auth'为此目的但问题是当我在social.apps.django_app.default INSTALLED_APPS中加载settings.py并运行./manage.py makemigrations时出现以下错误

ImportError: No module named apps.django_app

我猜这是因为我有一个名为“社交”的应用程序。在我的INSTALLED_APPS中,所以当django开始读取这个元组时,它会与social应用的social.apps.django_app.default开头的social冲突。

我希望我能让你理解我的观点。如果我这样做,请帮助我解决这个问题。 :)

修改

以下是settings.py

的摘录
INSTALLED_APPS = (
    ...
    'social',
    ...
    'social.apps.django_app.default',
)

第一个答案建议我可以使用不同的名称更改对应用的引用。现在的问题是,我可以使用'social'AppConfig更改为其他内容,但是当解释程序尝试阅读'social.apps.django_app.default时,我会再次将其更改为其他内容。它在名为social的本地app文件夹中查找。如何让它查看驻留在python2.7/site-packages文件夹中的分发文件?

1 个答案:

答案 0 :(得分:0)

从Django 1.7开始,有App Config,它允许您更改INSTALLED_APPS中引用应用程序的名称,从而避免名称冲突。