【问题标题】:Unable to find the Python module execute_manager in django.core.management在 django.core.management 中找不到 Python 模块 execute_manager
【发布时间】:2009-04-14 05:08:01
【问题描述】:

问题:在类 django.core.management 中找到 Python 模块 execute_manager

这个问题与我的another question有关。

我正在尝试通过

启动我的服务器
python manage.py runserver

该命令依赖于 ma​​nage.py。 该文件从 django.core.management 类中导入模块 execute_manager,如下所示

from django.core.management import execute_manager

我尝试在django安装文件夹中查找模块源代码失败

$find . | grep exe
./django/core/management/commands/sqlindexes.py

同样,我通过ack得到以下结果。

django/conf/project_template/manage.py
2:from django.core.management import execute_manager
11:    execute_manager(settings)

django/core/management/__init__.py
333:def execute_manager(settings_mod, argv=None):

examples/manage.py
2:from django.core.management import execute_manager
11:    execute_manager(settings)

如何在 django.core.management 类中找到模块 execute_manager 的源代码

【问题讨论】:

  • 当您发现自己这样做时,您需要问自己这是否是启动服务器的预期方式。您不必担心这一点,并确保您的 python 和 django 路径设置正确。这是忽略实际问题。
  • @Paolo:我同意你的看法。但是,我想知道我的代码是如何工作的。这让我可以定位错误。

标签: django


【解决方案1】:

execute_manager 是一个函数,而不是一个模块,在 django.core.management 包的 __init__.py 文件中定义。这就是你的 grep 找不到它的原因。

您的 ack 用您粘贴的这个结果找到了它:

django/core/management/__init__.py
333:def execute_manager(settings_mod, argv=None):

【讨论】:

  • >> import django, >>django.__file__ 用于 django 文件的位置。
【解决方案2】:

它在文件$PYTHON_SITE_PACKAGES/django/core/management/__init__.py 中。 execute_manager 是一个函数,而不是一个模块,django.core.management 模块的代码可以在django/core/management/__init__.py 中找到,因为django.core.management 也是一个包。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-19
    • 1970-01-01
    • 2015-01-27
    • 2014-08-17
    • 2015-11-07
    • 2021-09-10
    • 1970-01-01
    相关资源
    最近更新 更多