我正在运行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(表格)”时可以看到它。我注意到这个错误只发生在我在REPL中运行iPython时。如果我启动REPL并且只使用普通的旧Python解释器,则不会发生错误。
还有其他人遇到过这个问题吗?如果是这样,你知道它为什么会发生以及是否有解决方法吗?
我应该补充一点,我在过去在REPL中创建类时遇到了问题,直到我在类中创建了一个元类并定义了一个“app_label”变量。这在这种情况下并没有什么不同。
感谢。
答案 0 :(得分:8)
django 1.5无法正常启动IPython。这是fixed in master,但修复程序未向后移植到1.5.1。如果您手动将该补丁应用于core / management / commands / shell.py,则IPython应该按预期工作。