从 IDLE 运行 Django

Sof*_*tic 5 django python-idle

我想在 Windows 中测试我的 django 项目表单 IDLE shell。我运行以下命令

from django.template import Template, Context
t = Template('test template')
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误。

Traceback (most recent call last):


File "<pyshell#1>", line 1, in <module>
    t = Template('test template')
  File "C:\Program Files\Python26\lib\site-packages\django\template\__init__.py", line 164, in __init__
    if settings.TEMPLATE_DEBUG and origin is None:
  File "C:\Program Files\Python26\lib\site-packages\django\conf\__init__.py", line 28, in __getattr__
    self._import_settings()
  File "C:\Program Files\Python26\lib\site-packages\django\conf\__init__.py", line 59, in _import_settings
    self._target = Settings(settings_module)
  File "C:\Program Files\Python26\lib\site-packages\django\conf\__init__.py", line 94, in __init__
    raise ImportError, "Could not import settings '%s' (Is it on sys.path? Does it have syntax errors?): %s" % (self.SETTINGS_MODULE, e)
ImportError: Could not import settings 'C:\Program Files\Python26\Lib\site-packages\django\conf' (Is it on sys.path? Does it have syntax errors?): Import by filename is not supported.
Run Code Online (Sandbox Code Playgroud)

你能帮我吗?

Joh*_*ett 2

Django 需要加载几个文件,例如你的settings.py。为了帮助完成这项任务,Django 捆绑了自己的shell(可以是 IDLE)。如果您安装了IPython,Django 将使用它。

要访问 shell,请使用根目录中的 manage.py 文件:

python manage.py shell
Run Code Online (Sandbox Code Playgroud)

如果您仍然确实想完全在“./manage.py shell”范围之外使用 IDLE,请查看 manage.py 文件以了解 Django 如何加载所有必需的文件。

作为奖励,请研究shell_plusdjango-command-extensions(它提供了一些不错的附加功能,例如自动加载所有模型)。

  • 需要明确的是,django 并没有真正拥有“它自己的 shell”,它实际上只是使用默认的 python shell,但在启动之前使您的项目模块可用。 (2认同)