help with django-guardian

132 views
Skip to first unread message

Joshua Chan

unread,
Mar 3, 2016, 7:22:18 PM3/3/16
to Django users
First off, I am new to both django and python.

I am working on an existing project that is using django-guardian 1.3.2

There are existing admin.py files, which load just fine.

#!/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)


I added mine, and this also works (on my machine).

#!/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.Model, MyModel1Admin)




class MyModel2Admin(GuardedModelAdmin):
   
pass




admin
.site.register(models.Model2, MyModel2Admin)



We deployed the app, and now it fails to start with the following exception:

Traceback (most recent call last):
  File "/usr/local/share/.virtualenvs/my_app/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 187, in __call__
    self.load_middleware()
  File "/usr/local/share/.virtualenvs/my_app/lib/python2.7/site-packages/django/core/handlers/base.py", line 47, in load_middleware
    mw_instance = mw_class()
  File "/usr/local/share/.virtualenvs/my_app/lib/python2.7/site-packages/django/middleware/locale.py", line 24, in __init__
    for url_pattern in get_resolver(None).url_patterns:
  File "/usr/local/share/.virtualenvs/my_app/lib/python2.7/site-packages/django/core/urlresolvers.py", line 365, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/usr/local/share/.virtualenvs/my_app/lib/python2.7/site-packages/django/core/urlresolvers.py", line 360, in urlconf_module
    self._urlconf_module = import_module(self.urlconf_name)
  File "/usr/local/share/.virtualenvs/my_app/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
    __import__(name)
  File "./sites/zpanel/urls.py", line 19, in <module>
    admin.autodiscover()
  File "/usr/local/share/.virtualenvs/my_app/lib/python2.7/site-packages/django/contrib/admin/__init__.py", line 29, in autodiscover
    import_module('%s.admin' % app)
  File "/usr/local/share/.virtualenvs/my_app/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
    __import__(name)
  File "./common/admin.py", line 3, in <module>
    from guardian.admin import GuardedModelAdmin
ImportError: No module named admin


The server is running python 2.7.6, and I am using 2.7.10. I wouldn't think this is an issue since other admin.py files import from guardina.admin just fine.



 

Message has been deleted

Tom Evans

unread,
Mar 4, 2016, 7:14:55 AM3/4/16
to django...@googlegroups.com
On Thu, Mar 3, 2016 at 10:58 PM, Joshua Chan
<joshua.be...@gmail.com> wrote:
> First off, I am new to both django and python.
>
> I am extending an existing app. We have several admin.py files
>
> They all look like this:
>
> #!/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)
>
> Everything has been working.
>
> I added my classes
>
> #!/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.Model, MyModel1Admin)
>
>
> class MyModel2Admin(GuardedModelAdmin):
> pass
>
>
> admin.site.register(models.Model2, MyModel2Admin)
>
> This also works fine locally, but when we deploy it, it blows up on the
> import:
> I am running 2.7.10 locally. The failing machine is running 2.7.6. I'm not
> sure how to switch my env around, but why would other admin.py files import
> guardian.admin correctly?

Is there a module adjacent to the failing admin.py named guardian?

Cheers

Tom

Joshua Chan

unread,
Mar 4, 2016, 9:25:37 AM3/4/16
to Django users
There is a folder called guardian_migrations

Joshua Chan

unread,
Mar 14, 2016, 10:52:24 AM3/14/16
to Django users
As it turns out, there was a guardian folder on the target server.
Reply all
Reply to author
Forward
0 new messages