使用Django 1.5和IPython获取NameError

Ray*_*Ray 5 python django ipython django-forms

我正在运行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.
Run Code Online (Sandbox Code Playgroud)

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

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

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

谢谢.

min*_*nrk 8

django 1.5无法正常启动IPython.这在master中已修复,但修复程序未向后移植到1.5.1.如果您手动将该修补程序应用于core/management/commands/shell.py,则IPython应按预期工作.