我正在按照文档在我的django项目中获取python社交认证 https://python-social-auth.readthedocs.org/en/latest/configuration/django.html
在我的 settings.py 中将'social.apps.django_app.default',
添加到INSTALLED_APPS后,我运行了这个:
python manage.py makemigrations
我明白了
No changes detected
这个命令不应该做某事。因为没有这个,我无法迁移以创建身份验证所需的表。
编辑:
我也试过这个命令,但最终得到了相同的结果
python manage.py makemigrations main
其中'主要'是我的应用程序的名称
答案 0 :(得分:3)
今天我遇到了这个问题。错误发生在文档本身。
您应该直接运行Go To
。它在数据库中创建表。
所有旧教程都使用$ python manage.py migrate
,我认为它是在早期版本的django中使用的。
答案 1 :(得分:1)
我的答案将涵盖一些基础知识,以便人们轻松理解这类错误。
让我清楚一些关于Django最新版本(从1.7到开发版)的迁移的基本术语。
在旧版本的Django中,One必须在模型中进行更改(最终在数据库中),然后必须使用South
应用程序在数据库中应用更改而不影响旧数据库。
Django开发者社区在Django 1.7中和之后都包含了这个南方应用程序,并提供了一些简单的命令来应用迁移。
当一个人安装新应用程序(上面的问题场景)或者一个人在现有模型中进行更改并希望在数据库中应用更改时,必须告诉数据库他们想要做出哪些更改。要做到这一点,必须进行迁移,下面是命令。
$ python manage.py makemigrations app_name
或如果它是初始的,则无需指定app_name,它将考虑所有应用程序。
此命令将生成迁移文件,其中包含数据库的说明,以指示表格和表格的属性,表格之间的关系以及当前表格中的更改等等。
现在必须运行以下命令才能在数据库中应用所有更改。
$ python manage.py migrate app_name
或如果是初始,则无需指定app_name。
请拍摄任何问题如果您有任何问题,请查看Django的官方documentation on migrations以获取更多信息。
答案 2 :(得分:0)
可能的原因是您的项目没有使用任何' social'的数据库模型。申请。在urls.py
中添加网址,将其与“社交”相关联。网址。
答案 3 :(得分:0)
到Django< 1.8
INSTALLED_APPS ['social.apps.Django_appConfig',]