Python Django,夹层:自动发现错误,引用不存在的模型

Python Django,夹层:自动发现错误,引用不存在的模型,python,django,mezzanine,Python,Django,Mezzanine,我正在从事的Django项目是在我之前由其他人建立的。它还有我不熟悉的夹层组件;没有必要使用它。突然,我有一个错误,我不知道如何修复 我有一个应用程序“Dashboards”,它一开始没有任何模型——models.py是空的,没有django.db import models的默认值。今天,我在其中添加了一个名为Banners的模型,并添加了admin.py文件(因为我打算使用Django的管理模块)。我可能在整个过程中重新启动了foreman,但我从未在模型上运行过任何迁移 随后,我决定删除模

我正在从事的Django项目是在我之前由其他人建立的。它还有我不熟悉的夹层组件;没有必要使用它。突然,我有一个错误,我不知道如何修复

我有一个应用程序“Dashboards”,它一开始没有任何模型——models.py是空的,没有django.db import models的默认值
。今天,我在其中添加了一个名为
Banners
的模型,并添加了admin.py文件(因为我打算使用Django的管理模块)。我可能在整个过程中重新启动了foreman,但我从未在模型上运行过任何迁移

随后,我决定删除模型定义以及admin.py,因为我决定创建一个单独的应用程序来处理我正在处理的特定功能。重新启动foreman后,Django不断抛出错误:

ImportError at /
No module named banners.models
Request Method: GET
Request URL:    http://127.0.0.1:9000/
Django Version: 1.5.5
Exception Type: ImportError
Exception Value:    
No module named banners.models
Exception Location: /home/vagrant/www/local/lib/python2.7/site-packages/django/utils/importlib.py in import_module, line 35
Python Executable:  /home/vagrant/www/bin/uwsgi
Python Version: 2.7.3
Python Path:    
['.',
 '',
 '/home/vagrant/www/src/django-experiments',
 '/home/vagrant/www/src/gargoyle',
 '/home/vagrant/www/src/nexus',
 '/home/vagrant/www/local/lib/python2.7/site-packages/newrelic-2.6.0.5/newrelic/bootstrap',
 '/home/vagrant/www/lib/python2.7',
 '/home/vagrant/www/lib/python2.7/plat-linux2',
 '/home/vagrant/www/lib/python2.7/lib-tk',
 '/home/vagrant/www/lib/python2.7/lib-old',
 '/home/vagrant/www/lib/python2.7/lib-dynload',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-linux2',
 '/usr/lib/python2.7/lib-tk',
 '/home/vagrant/www/local/lib/python2.7/site-packages']
Server time:    Tue, 18 Feb 2014 01:13:55 +0000
更具体地说,在:

./urls.py in <module>
admin.autodiscover() ...
▶ Local vars
/home/vagrant/www/local/lib/python2.7/site-packages/mezzanine/boot/__init__.py in autodiscover
    django_autodiscover(*args, **kwargs) ...
▶ Local vars
中的
/url.py
admin.autodiscover()。。。
▶ 局部变量
/自动发现中的home/vagrant/www/local/lib/python2.7/site packages/mezzanine/boot/_init__.py
django_自动发现(*args,**kwargs)。。。
▶ 局部变量

我搜索了我所有的来源,我肯定不会在任何地方导入“横幅”。完全清除横幅的正确方法是什么?

如果您肯定没有在任何地方导入横幅(通过代码库搜索应该可以确认这一点),那么您可能已经编译了仍然引用旧内容的python文件

我无法准确地再现造成这种情况的原因,但我已经多次遇到类似的问题,具体表现在神秘的URL.py导入错误中

尝试一个好的旧
查找-名称“*.pyc”| xargs rm


像往常一样,使用
rm
命令时要非常小心-千万不要相信它,要对您编写的*.pyc或有备份/版本控制进行三次检查。

Aha,因此我们将从项目文件夹中删除所有已编译的python文件,以删除任何剩余引用。修好了,谢谢!!