Python Django:错误:未知命令:';makemigrations';
我正在尝试学习Python Django:错误:未知命令:';makemigrations';,python,django,migration,Python,Django,Migration,我正在尝试学习Django教程,当我进入python manage.py makemigrations polls Unknown command: 'makemigrations' 这是本教程的最后一步,我成功地完成了前面的所有步骤,我不确定现在出了什么问题,也不知道如何修复它。 附言:我已经在安装的应用程序中加入了“民意调查” INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'dja
Django
教程,当我进入python manage.py makemigrations polls
Unknown command: 'makemigrations'
这是本教程的最后一步,我成功地完成了前面的所有步骤,我不确定现在出了什么问题,也不知道如何修复它。
附言:我已经在安装的应用程序中加入了“民意调查”
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'polls',
'South',
)
答:我必须将已安装的应用程序修改为:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'polls',
)
并且还使用了这个命令:
python manage.py syncdb
迁移是在2014年9月2日正式发布的1.7版中首次添加的。您需要确保教程与正在使用的Django版本相匹配。例如,此版本的教程涵盖1.9:
或者,如果您使用的是较旧版本的Django,则可以将该URL中的“1.9”更改为您所在的任何版本(返回到1.3)。或者使用“文档”页面上的下拉列表选择版本并搜索“教程”。找出您正在运行的django版本(n): 如果大于1.8:
pip install --upgrade django
我使用的是1.9版,但仍然出现这个错误。我有未应用的迁移,这是我案例的根本原因。我运行了“
python manage.py migrate
”来应用它们,它对我起了作用。在django中,迁移是在1.7之后添加的,所以如果您使用的是较旧版本的django,那么您必须更改settings.py并在安装的应用程序中添加应用程序,如
INSTALLED_APPS = (
'Demo',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
)
然后您可以运行命令
python manage.py syncdb
在执行此操作之前,需要加载虚拟环境 在Linux/OSX中使用以下代码:
source venv/bin/active
和下面的Windows代码
source venv/Scripts/activate
为了解决这个问题,我做了以下工作(针对python版本3.6.4):
干杯我第一次在project\u name\settings.py文件中添加以下代码时
`INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
#Django REST Framework
'rest_framework',
#Games application
'games.apps.GamesConfig',
]`
保存之后,当运行下面的代码时,我得到了错误
`python manage.py makemigrations games`
然后我检查settings.py文件,我发现有两个安装的应用程序,第二个没有以下内容。当我添加这些代码时,代码起作用了
`#Django REST Framework
'rest_framework',
#Games application
'games.apps.GamesConfig',`
另外,
django.get_version()
为我提供了1.6
。那么这个版本中不包括迁移吗?不,迁移不包括在1.6中。您会注意到1.6教程没有提到它们。至于南方,这不是南方的正确命令。我建议在处理South之前先学习Django教程,但是如果你想从一开始就包括它,你需要检查它的文档,例如Wow,在base Django中的迁移,感觉自己有点老:)我还遗漏了什么,似乎值得检查changelog。这与此无关。该错误与特定管理命令不可用有关。如果virtualenv未激活,可能会出现ModuleNotFoundError:没有名为'django'
或类似的模块。这与OP询问的内容无关。
`#Django REST Framework
'rest_framework',
#Games application
'games.apps.GamesConfig',`