Django守护进口商的恐怖,但其他例子的工作
首先,我对django和python都很陌生。
我正在使用一个使用django-guardian 1.3.2的现有项目。 我验证了这个应用程序部署的服务器也使用1.3.2通过pip list
。
我想了解异常的原因。
有现有的admin.py文件,加载得很好。
#!/usr/bin/env python
# coding: utf-8
from guardian.admin import GuardedModelAdmin
from django.contrib import admin
from devices import models
class SomeModelAdmin(GuardedModelAdmin):
pass
admin.site.register(models.SomeModel, SomeModelAdmin)
我加了我的,这也适用(在我的机器上)。
#!/usr/bin/env python
# coding: utf-8
from guardian.admin import GuardedModelAdmin
from django.contrib import admin
from common import models
class MyModel1Admin(GuardedModelAdmin):
pass
admin.site.register(models.MyModel1, MyModel1Admin)
class MyModel2Admin(GuardedModelAdmin):
pass
admin.site.register(models.MyModel2, MyModel2Admin)
我们部署了应用程序,现在它无法开始以下例外:
Traceback(最近的最后一次调用):在自我调用中的文件“/usr/local/share/.virtualenvs/my_app/lib/python2.7/site-packages/django/core/handlers/wsgi.py”,行187。 load_middleware()文件“/usr/local/share/.virtualenvs/my_app/lib/python2.7/site-packages/django/core/handlers/base.py”,第47行,在load_middleware中mw_instance = mw_class()文件“ /usr/local/share/.virtualenvs/my_app/lib/python2.7/site-packages/django/middleware/locale.py“,第24行,在get_resolver(无).url_patterns中的url_pattern的init中:File”/ usr /local/share/.virtualenvs/my_app/lib/python2.7/site-packages/django/core/urlresolvers.py“,第365行,在url_patterns patterns = getattr(self.urlconf_module,”urlpatterns“,self.urlconf_module)文件“/usr/local/share/.virtualenvs/my_app/lib/python2.7/site-packages/django/core/urlresolvers.py”,第360行,在urlconf_module中self._urlconf_module = import_module(self.urlconf_name)文件“ /usr/local/share/.virtualenvs/my_app/lib/python2.7/site-packages/django/utils/importlib.py“,第40行,i n import_module import (name)文件“./sites/zpanel/urls.py”,第19行,在admin.autodiscover()文件中“/usr/local/share/.virtualenvs/my_app/lib/python2.7/site- packages / django / contrib / admin / init .py“,第29行,在自动发现中import_module('%s.admin'%app)文件”/usr/local/share/.virtualenvs/my_app/lib/python2.7/site -packages / django / utils / importlib.py“,第40行,in import_module import (name)文件”./common/admin.py“,第3行,来自guardian.admin import GuardedModelAdmin ImportError:No module named admin
服务器运行python 2.7.6,并且使用2.7.10。 我不认为这是一个问题,因为其他admin.py文件从guardina.admin导入就好了。
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'sites.this_app',
'notifications.email',
'raven.contrib.django.raven_compat',
'guardian',
'my_stuff',
'existing_ones'
'rest_framework',
'rest_framework.authtoken',
'south',
'djangular',
'widget_tweaks',
'djrill',
'corsheaders',
'django_extensions',
'parler',
'watson',
'baldr',
)
事实证明,在我的admin.py
文件所在的目录中有一个名为guardian
的目录。 该目录不在源代码中(也不在我的本地机器上)。 我想这是很久以前某些部署的残留......