0

我注意到我的一些 urlpattern 具有与其他不同的属性。值得注意的是_urlconf_module_urlconf_name失踪。我AttributeError: 'RegexURLResolver' object has no attribute '_urlconf_module'在生产中遇到了大量错误,这似乎是我得到的唯一线索。

有谁知道为什么 urlconf 的属性不同,如果这是一个问题,如何解决它?

表单的一组 url 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错误开始发生的时间,这需要我使用基于类的视图,这可能是根本原因之一。

4

1 回答 1

0

第二个 URL 模式具有_urlconf_module_urlconf_name属性,因为您包含另一个 URL conf。第一个 URL 模式不包括 URL conf,因此没有这些属性。

为什么你认为这些内部因素会导致问题?更有可能是您自己的代码有问题。除非您包含完整的回溯,否则很难为您提供帮助。

如果回溯不包含任何有用的信息,这通常意味着您的某个模块中存在错误,这会阻止您的 URL conf 加载。尝试在 shell 中导入单个模块以跟踪问题,或从 URL 配置中删除条目,直到您有一个最小的示例来重现您的问题。如果其他人可以重现您的问题,那么他们更有可能帮助您解决问题。

于 2013-06-23T10:24:07.077 回答