5

我正在运行 Django 1.5.1、Python 2.7.2 和 IPython 0.13.2。如果我从我的 Django 项目目录中执行“python ./manage.py shell”,我会收到以下错误:

from django import forms
class CommentForm(forms.Form):
    name = forms.CharField()

NameError: name 'forms' is not defined.

我知道表单被定义为当它执行“dir(forms)”时我可以看到它。我注意到这个错误只发生在我在 REPL 中运行 iPython 时。如果我启动 REPL 并且只使用普通的旧 Python 解释器,则不会发生错误。

有没有其他人遇到过这个问题?如果是这样,您知道为什么会发生这种情况以及是否有解决方法吗?

我应该补充一点,我过去在 REPL 中创建类时遇到过问题,直到我在类中创建了一个元类并定义了一个“app_label”变量。在这种情况下,这并没有什么不同。

谢谢。

4

1 回答 1

8

django 1.5 不能正确启动 IPython。这已在 master中修复,但该修复未向后移植到 1.5.1。如果您手动将该补丁应用到 core/management/commands/shell.py,IPython 应该可以按预期工作。

于 2013-04-07T21:04:53.703 回答