Django无法找到任何有效的urlpatterns

时间:2019-05-25 23:27:36

标签: python django

我试图在我的主要Django urls.py中包含第二个urls.py,并且每当我尝试这样做时都会抛出此错误:

Watching for file changes with StatReloader
Performing system checks...

Exception in thread django-main-thread:
Traceback (most recent call last):
  File "/home/user/app/lib/python3.5/site-packages/django/urls/resolvers.py", line 581, in url_patterns
    iter(patterns)
TypeError: 'module' object is not iterable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.5/threading.py", line 862, in run
    self._target(*self._args, **self._kwargs)
  File "/home/user/app/lib/python3.5/site-packages/django/utils/autoreload.py", line 54, in wrapper
    fn(*args, **kwargs)
  File "/home/user/app/lib/python3.5/site-packages/django/core/management/commands/runserver.py", line 117, in inner_run
    self.check(display_num_errors=True)
  File "/home/user/app/lib/python3.5/site-packages/django/core/management/base.py", line 390, in check
    include_deployment_checks=include_deployment_checks,
  File "/home/user/app/lib/python3.5/site-packages/django/core/management/base.py", line 377, in _run_checks
    return checks.run_checks(**kwargs)
  File "/home/user/app/lib/python3.5/site-packages/django/core/checks/registry.py", line 72, in run_checks
    new_errors = check(app_configs=app_configs)
  File "/home/user/app/lib/python3.5/site-packages/django/core/checks/urls.py", line 40, in check_url_namespaces_unique
    all_namespaces = _load_all_namespaces(resolver)
  File "/home/user/app/lib/python3.5/site-packages/django/core/checks/urls.py", line 57, in _load_all_namespaces
    url_patterns = getattr(resolver, 'url_patterns', [])
  File "/home/user/app/lib/python3.5/site-packages/django/utils/functional.py", line 80, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/user/app/lib/python3.5/site-packages/django/urls/resolvers.py", line 588, in url_patterns
    raise ImproperlyConfigured(msg.format(name=self.urlconf_name))
django.core.exceptions.ImproperlyConfigured: The included URLconf 'app.urls' does not appear to have any patterns in it. If you see valid patterns in the file then the issue is probably caused by a circular import.

这是主要的urls.py:

from django.urls import path, include

urlpatterns = [
    path('', include('app_main.urls')),
]

谢谢!我认为我没有任何循环导入,因为我还没有真正开始创建应用程序的内容。感谢所有帮助。我很好奇为什么Django会这样做,因为我很确定我输入的是有效的urlpattern(我对照已知有效的urlpattern进行了检查)。

1 个答案:

答案 0 :(得分:0)

如Carlton Gibson here所述,此错误仅在Python 3.6.0和更早版本中存在。 由于Django当前支持3.6.8和更高版本,因此您可以:

  1. 更新python版本
  2. 通过删除site-packages/django/utils/autoreload.py中的try / except,反转导致错误掩盖行为的commit