0

有关 Models 的 Django 文档中,我被要求运行的第一个命令和 python 的响应是:

>>> from django.db import models

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    from django.db import models
  File "C:\Python26\lib\site-packages\django\db\__init__.py", line 11, in <module>
        if DEFAULT_DB_ALIAS not in settings.DATABASES:
  File "C:\Python26\lib\site-packages\django\utils\functional.py", line 184, in inner
    self._setup()
  File "C:\Python26\lib\site-packages\django\conf\__init__.py", line 40, in _setup
    raise ImportError("Settings cannot be imported, because environment variable %s is             undefined." % ENVIRONMENT_VARIABLE)
ImportError: Settings cannot be imported, because environment variable     DJANGO_SETTINGS_MODULE is undefined.

从堆栈跟踪中可以看出,我正在 python 2.6.6 中运行 django 服务器。谁能给我一个线索,让我从本教程的右脚开始?提前致谢。

4

3 回答 3

2

你这样做是错的。

$ python manage.py shell
于 2012-04-25T04:20:58.940 回答
2

你是从 ./manage.py shell 运行这些命令吗?如果不指定项目的 settings.py 文件的位置,则无法从常规 python shell 运行 django 命令。Django 的 ./manage.py shell 命令为您指定了这一点,从而更容易在命令行上执行 django 操作。

如果您在当前工作目录中没有看到名为 manage.py 的文件,那么这可能意味着您不在 django 应用程序的目录中,或者您还没有启动它。

编辑:此外,该文档是作为在应用程序的 models.py 文件中放入内容的示例,而不是您应该在命令行中输入的内容。这并不意味着它不能在命令行上运行(如果你使用 manage.py shell),但这不是文档所建议的。如果您不清楚如何启动 shell 以及哪些文件放在哪里,请查看教程。

于 2012-04-25T04:21:20.290 回答
0

这里的答案肯定适用于我正在使用的交互式提示,但是我不认为第一个代码块的意图是要实际运行!在模型文档中的第一个代码之后,您应该将下一个代码放入在上一个教程中创建的 models.py 文件中......我想这就是他们巧妙地标记该部分“快速示例”的原因。多么令人头疼!

此外,该段继续说“上面的 Person 模型将创建一个类似...的数据库表”,这表明它从未打算按原样实际运行。

于 2012-04-26T06:10:32.687 回答