2013-06-22 42 views
9

Wciąż dostaję poniższe błędy w moich wyjątkami wartowniczychAttributeError: obiekt „RegexURLResolver” nie ma atrybutu „_urlconf_module”

AttributeError: 'RegexURLResolver' object has no attribute '_urlconf_module'

I ślad wskazuje tylko do kodu withing bazę kodu django bez wskazując na dowolny miejsce w mojej aplikacji. Moje logi też są czyste. Jaki mógł być tego powód?

 raise Resolver404({'path' : path}) 
    @property 
    def urlconf_module(self): 
     try: 
      return self._urlconf_module 
     except AttributeError: 
      self._urlconf_module = import_module(self.urlconf_name) 
      return self._urlconf_module 
    @property 
'self' 
<RegexURLResolver urls (None:None) ^/> 
+1

Wygląda na to, że wywołujesz regexresolver klasy przed jej zainicjowaniem. Może to być problem zależności. – karthikr

+2

Czy możesz opracować? Nie zmieniłem nic istotnego dla adresów URL i ten błąd zaczął się pojawiać. Każdy pomysł, jak mogę to debugować? –

Odpowiedz

2

W przeciwnym razie w internecie znalazłem to:

The issue is caused by an import ordering problem, in your example code you call urlresolvers.reverse which will load example/urls.py, which will trigger an admin.autodiscover() call, which will load social/apps/django_app/default/admin.py, which will try to load your custom user model which will fail to load your user model.

uderzę problem gdy zadzwoniłem do funkcji bezpośrednio z views.py, a funkcja ta zaowocowała wykorzystaniem resolve, co prawdopodobnie doprowadzi do importu problem, ponieważ wywołanie funkcji bezpośrednio z views.py jest złym stylem. Jednak powyższy komentarz pomógł medowi w debugowaniu problemu.

+0

Prawdopodobnie znalazłeś to tutaj: https://github.com/omab/python-social-auth/issues/269 – Mark

Powiązane problemy