python - 使用 Django 1.5 和 IPython 获取 NameError

标签 python django django-forms ipython

我正在运行 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”变量。在这种情况下,这并没有什么不同。

谢谢。

最佳答案

django 1.5 无法正确启动 IPython。这是 fixed in master ,但此修复程序未反向移植到 1.5.1。如果您将该补丁手动应用到 core/management/commands/shell.py,IPython 应该会按预期工作。

关于python - 使用 Django 1.5 和 IPython 获取 NameError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15867678/

相关文章:

python - 以默认 ID 作为参数包含的不起作用

python - 使用python获取fat32属性

django - 从表单集中删除无效表单

python - Django 迁移 : django. db.utils.OperationalError : (1824, "Failed to open the referenced table ' classroom_user'")

python - 按年、月列出博客条目

django - Django View 中表单提交的不同重定向

Django 表单向导,当我还没有完成时如何重置/清除向导?

python - 在 Django 中编写一个非常基本的搜索表单

Python:使用全局变量的无效语法

python - 在/admin/安装 jinja2 TemplateDoesNotExist 后