django2 使用include报错

环境:python3.6+django2.2.1

在使用include时报错如下:

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

Exception in thread django-main-thread:
Traceback (most recent call last):
  File "D:\Python\lib\threading.py", line 917, in _bootstrap_inner
    self.run()
  File "D:\Python\lib\threading.py", line 865, in run
    self._target(*self._args, **self._kwargs)
  File "D:\Python\lib\site-packages\django\utils\autoreload.py", line 54, in wrapper
    fn(*args, **kwargs)
  File "D:\Python\lib\site-packages\django\core\management\commands\runserver.py", line 117, in inner_run
    self.check(display_num_errors=True)
  File "D:\Python\lib\site-packages\django\core\management\base.py", line 390, in check
    include_deployment_checks=include_deployment_checks,
  File "D:\Python\lib\site-packages\django\core\management\base.py", line 377, in _run_checks
    return checks.run_checks(**kwargs)
  File "D:\Python\lib\site-packages\django\core\checks\registry.py", line 72, in run_checks
    new_errors = check(app_configs=app_configs)
  File "D:\Python\lib\site-packages\django\core\checks\urls.py", line 40, in check_url_namespaces_unique
    all_namespaces = _load_all_namespaces(resolver)
  File "D:\Python\lib\site-packages\django\core\checks\urls.py", line 57, in _load_all_namespaces
    url_patterns = getattr(resolver, 'url_patterns', [])
  File "D:\Python\lib\site-packages\django\utils\functional.py", line 80, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "D:\Python\lib\site-packages\django\urls\resolvers.py", line 579, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "D:\Python\lib\site-packages\django\utils\functional.py", line 80, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "D:\Python\lib\site-packages\django\urls\resolvers.py", line 572, in urlconf_module
    return import_module(self.urlconf_name)
  File "D:\Python\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "", line 1006, in _gcd_import
  File "", line 983, in _find_and_load
  File "", line 967, in _find_and_load_unlocked
  File "", line 677, in _load_unlocked
  File "", line 728, in exec_module
  File "", line 219, in _call_with_frames_removed
  File "E:\yuanma\django\myblog\myblog\urls.py", line 21, in 
    path('index/', include('blog.urls'))
  File "D:\Python\lib\site-packages\django\urls\conf.py", line 34, in include
    urlconf_module = import_module(urlconf_module)
  File "D:\Python\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "", line 1006, in _gcd_import
  File "", line 983, in _find_and_load
  File "", line 967, in _find_and_load_unlocked
  File "", line 677, in _load_unlocked
  File "", line 728, in exec_module
  File "", line 219, in _call_with_frames_removed
  File "E:\yuanma\django\myblog\blog\urls.py", line 1, in 
    from django.conf.urls import path
ImportError: cannot import name 'path' from 'django.conf.urls' (D:\Python\lib\site-packages\django\conf\urls\__init__.py)

 from django.conf.urls import path

ImportError: cannot import name 'path' from 'django.conf.urls' (D:\Python\lib\site-packages\django\conf\urls\__init__.py)

原因是在app目录下的urls.py文件,导入的不是path,而应该是url

django2 使用include报错_第1张图片

修改如下

项目根目录下的urls.py

from django.contrib import admin
from django.urls import path,include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/', include('blog.urls'))
]

app应用目录下的urls.py

from django.conf.urls import url
from . import views
urlpatterns = [
    url('^$', views.index),
]
^$ 是为了约束空字符,不加约束的话,在该url后面加上任意字符都可以访问index主页。如(http://127.0.0.1:8000/index/abcd)

你可能感兴趣的:(django)