如何修复视图不存在/ admin /

时间:2013-02-10 06:42:37

标签: django admin

我的django项目中有一个管理部分工作正常,但突然间它报告了这个错误:

  

/ admin /

中的ViewDoesNotExist      

无法导入restaurants.views.question。模块restaurants.views中不存在视图。

前端仍然正常工作。

我不确定我做了什么改变 - 如何解决?

2 个答案:

答案 0 :(得分:2)

这通常表示相关视图不存在或管理面板无法访问。您确定要导入它,还是根据需要包含它?

答案 1 :(得分:0)

在我看来,您已经创建了与您的question视图相关的错误,这就是破坏管理员(Could not import restaurants.views.question)的原因。这实际上并不是管理员的错误,也不是restaurants.views模块正文中的新错误。

我的猜测是你创建了一个循环导入 - 查看restaurants.views模块顶部的导入。现在检查您要导入的每个模块,并查看该模块是否从restaurants.views导入。

如果没有显示任何内容,请检查导入restaurants.views模块的所有模型中的所有导入,并在那里查找。

自从使用基于类的视图以来,我已经看过几次了。显然,基于阶级的观点的全部意义在于它们可以被扩展。这可能导致循环依赖。除非我的应用程序中只有几个视图,否则我倾向于从一个文件中拆分所有内容并创建一个视图目录 -

my_app
    views
        __init__.py
        view1.py
        view2.py
        view3.py

然后将以下导入语句添加到__init__.py,以便一切正常 -

from view1 import View1
from view2 import View2
from view3 import View3

这使您可以在每个视图模块的顶部使用更少的import语句,从而降低循环依赖的风险。