我注意到我的一些urlpatterns具有不同於其他屬性的屬性。值得注意的是缺少_urlconf_module
和_urlconf_name
。我在生產中遇到了大量的AttributeError: 'RegexURLResolver' object has no attribute '_urlconf_module'
錯誤,這似乎是我得到的唯一線索。在Django中調試URL模式
有沒有人知道爲什麼urlconf的屬性是不同的,如果這是一個問題,如何解決它?形式url(r'^accounts/register/$', RegistrationView.as_view(), name='registration_register'),
的網址
一組具有這些屬性
{'_callback': <function app1.views.RegistrationView>,
'_regex': '^accounts/register/$',
'_regex_dict': {'en-us': re.compile(r'^accounts/register/$', re.UNICODE)},
'default_args': {},
'name': 'registration_register'}
和其他形式(r'^activation/', include('activation.urls'))
有這些
{'_app_dict': {},
'_namespace_dict': {},
'_regex': '^activation/',
'_regex_dict': {'en-us': re.compile(r'^activation/', re.UNICODE)},
'_reverse_dict': {},
'_urlconf_module': <module 'activation.urls' from '<path to app2>/activation/urls.pyc'>,
'app_name': None,
'callback': None,
'default_kwargs': {},
'namespace': None,
'urlconf_name': <module 'activation.urls' from '<path to app2>/activation/urls.pyc'>}
請注意,我已經升級到django-registration-1.0
當錯誤開始發生這要求我使用基於類的視圖,並且可能是其中一個基本原因。
感謝您的澄清。重點是我唯一的蹤跡是這個 - http://stackoverflow.com/questions/17255561/attributeerror-regexurlresolver-object-has-no-attribute-urlconf-module。我無法在本地重現錯誤,只會在生產中發生。跟蹤沒有指出我的應用程序的任何部分,我有一個預感,它可能只發生在應用程序重新啓動。 –
您的本地環境和生產環境有什麼區別?你在本地跑哨兵嗎? – Alasdair
不,我沒有在當地運行哨兵。運行哨兵並檢查 –