Django django-extensions 命令不可用( graph_models )

Posted

技术标签:

【中文标题】Django django-extensions 命令不可用( graph_models )【英文标题】:Django django-extensions commands unavailable ( graph_models ) 【发布时间】:2012-04-12 02:09:45 【问题描述】:

我正在尝试安装 django-extensions + graphviz + pygraph,但我不能。 我已经完成了以下步骤(在 Ubuntu 下):

sudo apt-get install graphviz libgraphviz-dev graphviz-dev python-pygraphviz

在项目virtualenv中(运行python 2.7.2+):

source <path to virtualenv>/bin/activate
pip install django django-extensions

如果我跑

which python

它在我的 virtualenv 中选择 python,所以我使用的 python 是正确的。 在 virtualenv 的站点包中,我有 pygraphviz 和 django-extensions

python manage.py shell
import django_extensions
import pygraphviz 
RUNS OK

在我的 django 项目中,我在 INSTALLED_APPS 中添加了“django_extensions”

但是当我跑步时

python manage.py help

我看不到命令​​并且它们不可用。

python manage.py graph_models -a -g -o model.png
Unknown command: 'graph_models'
Type 'manage.py help' for usage.

我该如何解决这个问题? 谢谢!

【问题讨论】:

欢迎您!这是一个现有的项目吗?即python manage.py runserver 工作正常吗?只是为了确认 - 运行 python manage.py help 时没有出现 django-extension 命令? 是的,我确认,没有显示 django-extension 命令 【参考方案1】:

在 manage.py shell 中运行:

from django.conf import settings; 'django_extensions' in settings.INSTALLED_APPS

如果它没有返回 True,那么这意味着你没有在 INSTALLED_APPS 中正确添加 'django_extensions',这将是 Django 找不到该命令的唯一原因。

【讨论】:

如果没有正确添加django_extensionspython manage.py runserver 不会失败吗? 谢谢! settings.py 没有以正确的方式导入......现在一切都按预期工作......谢谢! @pastylegs 我认为 runserver 就像 django_extension 根本不存在一样。谢谢你们的反馈。 @jpic 是的,我必须检查一下。反正很好看【参考方案2】:

实际上,如果您查看 manage.py 的代码,您会注意到它根据您当前的站点设置 DJANGO_SETTINGS_MODULES:比如说“mysite.settings”。 如果您希望您的 manage.py 列出其他扩展名(例如来自 django-extensions 或 django-evolution 的扩展名),那么您必须将您的项目根文件夹添加到您的 python 路径,否则您只会获得 bascc manage.py 命令。

【讨论】:

以上是关于Django django-extensions 命令不可用( graph_models )的主要内容,如果未能解决你的问题,请参考以下文章

django shell 操作

跨 django 数据库移动大型数据集

Django 网站优化:对核心 python 函数的调用过多?

Django - 学习目录

Django初识

Django之路