Skip to main content
 首页 » 编程设计

python之将 DEBUG 更改为 False 时出现 Django 错误

2025年05月04日37cmt

我在这里检查过具有类似标题/问题的其他问题,但似乎都不适用于此处。

我在虚拟机中有一个项目,该项目运行良好,所有功能和 url 都正常工作。

当我在 settings.py 中将 DEBUG 的值从 True 更改为 False 并重新启动 apache ,我开始收到 500 Internal Server Error,当我检查 apache 日志时,我看到了这个错误:

[error] ImproperlyConfigured: The included urlconf None doesn't have any patterns in it 

但我在 urls/__init__.py 中有大约 30 个 url(如果需要,我可以显示完整的错误跟踪)

有谁能帮我吗?

完整的错误跟踪:

 mod_wsgi (pid=27507): Exception occurred processing WSGI script '/vagrant/products_gallery/apache/django.wsgi'. 
 Traceback (most recent call last): 
   File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/wsgi.py", line 272, in __call__ 
     response = self.get_response(request) 
   File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 169, in get_response 
     response = self.handle_uncaught_exception(request, resolver, sys.exc_info()) 
   File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 218, in handle_uncaught_exception 
     return callback(request, **param_dict) 
   File "/vagrant/products_gallery/views.py", line 2844, in vhandler404 
     context_instance=RequestContext(request)) 
   File "/usr/local/lib/python2.7/dist-packages/django/shortcuts/__init__.py", line 20, in render_to_response 
     return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs) 
   File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py", line 188, in render_to_string 
     return t.render(context_instance) 
   File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 123, in render 
     return self._render(context) 
   File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 117, in _render 
     return self.nodelist.render(context) 
   File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 744, in render 
     bits.append(self.render_node(node, context)) 
   File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 757, in render_node 
     return node.render(context) 
   File "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py", line 127, in render 
     return compiled_parent._render(context) 
   File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 117, in _render 
     return self.nodelist.render(context) 
   File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 744, in render 
     bits.append(self.render_node(node, context)) 
   File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 757, in render_node 
     return node.render(context) 
   File "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py", line 159, in render 
     return self.render_template(self.template, context) 
   File "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py", line 141, in render_template 
     output = template.render(context) 
   File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 123, in render 
     return self._render(context) 
   File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 117, in _render 
     return self.nodelist.render(context) 
   File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 744, in render 
     bits.append(self.render_node(node, context)) 
   File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 757, in render_node 
     return node.render(context) 
   File "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py", line 437, in render 
     url = reverse(view_name, args=args, kwargs=kwargs, current_app=context.current_app) 
   File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py", line 391, in reverse 
     *args, **kwargs))) 
   File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py", line 312, in reverse 
     possibilities = self.reverse_dict.getlist(lookup_view) 
   File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py", line 229, in _get_reverse_dict 
     self._populate() 
   File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py", line 208, in _populate 
     for name in pattern.reverse_dict: 
   File "/usr/local/lib/python2.7/dist-packages/transurlvania/urlresolvers.py", line 214, in get_reverse_dict 
     self._lang_reverse_dicts[lang] = self._build_reverse_dict_for_lang(lang) 
   File "/usr/local/lib/python2.7/dist-packages/transurlvania/urlresolvers.py", line 171, in _build_reverse_dict_for_lang 
     for pattern in reversed(self.url_patterns): 
   File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py", line 283, in _get_url_patterns 
     raise ImproperlyConfigured("The included urlconf %s doesn't have any patterns in it" % self.urlconf_name) 
 ImproperlyConfigured: The included urlconf None doesn't have any patterns in it 
 Zlib: Compressed 624 to 385 : URL / 

已解决

通常 Django 会返回失败应用的名称,在本例中失败的应用是 Adyengo。问题是在包文件中,/usr/local/lib/python2.7/dist-packages/adyengo/sites.py:

@property 
def urls(self): 
 
    if not settings.DEBUG: 
        return 

由于“空”返回,django 错误是...包含的 urlconf **None** 不...

我评论/删除了行 if not settings.DEBUG: return 然后一切都按预期工作

请您参考如下方法:

检查您的模式是否包含指向不存在的模块或没有 urlpatterns 成员的模块的语句。