【问题标题】:Django views does not exist or could not importDjango 视图不存在或无法导入
【发布时间】:2012-05-22 12:28:17
【问题描述】:

今天早上我一直在做我的项目。我完成了我正在做的事情并将新代码推送到 git。

现在,我开始运行我的项目以开始处理它,但索引视图没有运行!

Could not import ism.views.index. View does not exist in module ism.views.

这个视图运行没有任何问题。所有项目都运行了。

还有更不可思议的事情。在主视图(ism.views.index)失败后,我尝试并检查了其他视图并且所有视图都有效,但现在不行!所有视图都在 10 秒前正确运行,现在都不起作用。他们吐出与主视图相同的错误。

我在网上搜索了这个相关的话题:

It's magic the view does not exist for django but it worked 5 secondes before and it still exist

但我试图删除原始文件(ism 应用程序中的views.py)并重新写入,问题仍然存在。与所有其他views.py相同。

有人知道这个问题吗?

谢谢 =)

【问题讨论】:

  • 你的views目录中有__init__.py吗?尝试删除所有 .pyc 文件以解决神奇的导入问题。run git log <filename> 查看所有最近的更改并准确查看您在相关模块中所做的更改。重新启动服务器... GL
  • 你添加到installed_app列表了吗?
  • 我已经删除了所有的 .pyc 文件,但它没有用。 Git没有给我任何线索。应用程序也被添加到 installed_app。还有什么? :(

标签: python django view import


【解决方案1】:

尝试做一个

    python ./manage.py shell

然后导入给您带来问题的视图。这最终可能会为您提供更多有用的调试信息。

> from ism.views import index

【讨论】:

  • 谢谢!原来我正在导入的模块之一有错误。我不知道为什么它不会显示错误,而不是说它找不到视图。
  • 你赢得了互联网 - 我花了很多时间试图在没有错误消息的情况下找出错误,你可能为我节省了更多。脱帽致敬。
  • 这里有同样的问题。错误出现在我在 views.py 中调用的脚本的自定义方法中。 Django 错误信息具有误导性。
  • 我有一个缩进错误导致了这个。非常感谢-否则不会发现,因为没有抛出错误。
  • 捕获 ImportError 异常的邪恶。 Django 始终这样做。
【解决方案2】:

出于同样的原因,我遇到了同样的错误。在错误中报告的文件导入的另一个文件中输入错误。通过手动导入 shell 来显示。

谢谢kdazzle!

--弗雷德·斯鲁卡

【讨论】:

    【解决方案3】:

    它发生在我身上,最终问题是我在 forms.py 中的一种形式出现语法错误, 我将此表单导入到我的views.py文件中。 Django 错误信息仍然指向我查看不存在错误

    【讨论】:

      【解决方案4】:

      同样的问题。

      我的 shell 也不能正常工作。

      我看到了 Jimenez 发布的链接,在讨论结束时,这个人解决了使用 Vim 保存文件的问题。

      我用 Vim 重写了文件,它成功了!

      如果你还没有解决,试试吧!

      【讨论】:

        【解决方案5】:

        我遇到了同样的问题。

        我没有任何线索,在 shell 中导入模块根本没有帮助:AttributeError: 'module' object has no attribute 'views'.
        但是我注意到,如果我在导入视图之前导入了一个特定的模块(即在 views.py 中导入的),它会起作用。

        我终于发现导入的模块也导入了views.py,所以它失败了,因为每个文件都在导入另一个文件。不过没有任何明确的消息。

        【讨论】:

          【解决方案6】:

          由于两个文件之间的交叉视图导入,同样的问题。

          我已经通过在每个方法中移动导入来解决它。

          【讨论】:

            【解决方案7】:

            我设法通过在 vim 中打开视图文件并保存而不做任何更改来解决问题。

            【讨论】:

              猜你喜欢
              • 2017-08-04
              • 2023-03-19
              • 1970-01-01
              • 2018-12-21
              • 1970-01-01
              • 1970-01-01
              • 2023-04-03
              • 1970-01-01
              • 2015-03-05
              相关资源
              最近更新 更多