Django 1.11 循环导入错误,还有 url 模式...当前路径不匹配

Django 1.11 circular import error, Also url pattern... current path doesn't match

我正在使用 Django 1.11。这是我的回溯:

Traceback (most recent call last):
File "C:\Python3\envs\myDjangoEnv\lib\site- 
packages\django\utils\autoreload.py", line 228, in wrapper
fn(*args, **kwargs)
File "C:\Python3\envs\myDjangoEnv\lib\site- 
packages\django\core\management\commands\runserver.py", line 124, in 
inner_run
self.check(display_num_errors=True)

File "C:\Python3\envs\myDjangoEnv\lib\site- 
packages\django\core\management\base.py", line 359, in check
include_deployment_checks=include_deployment_checks,
File "C:\Python3\envs\myDjangoEnv\lib\site- 
packages\django\core\management\base.py", line 346, in _run_checks
return checks.run_checks(**kwargs)
File "C:\Python3\envs\myDjangoEnv\lib\site- 
packages\django\core\checks\registry.py", line 81, in run_checks
new_errors = check(app_configs=app_configs)
File "C:\Python3\envs\myDjangoEnv\lib\site- 
packages\django\core\checks\urls.py", line 16, in check_url_config
return check_resolver(resolver)
File "C:\Python3\envs\myDjangoEnv\lib\site- 
packages\django\core\checks\urls.py", line 26, in check_resolver
return check_method()
File "C:\Python3\envs\myDjangoEnv\lib\site- 
packages\django\urls\resolvers.py", line 255, in check
warnings.extend(check_resolver(pattern))
File "C:\Python3\envs\myDjangoEnv\lib\site- 
packages\django\core\checks\urls.py", line 26, in check_resolver
return check_method()
File "C:\Python3\envs\myDjangoEnv\lib\site- 
packages\django\urls\resolvers.py", line 254, in check
for pattern in self.url_patterns:
File "C:\Python3\envs\myDjangoEnv\lib\site- 
packages\django\utils\functional.py", line 35, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "C:\Python3\envs\myDjangoEnv\lib\site- 
packages\django\urls\resolvers.py", line 414, in url_patterns
raise ImproperlyConfigured(msg.format(name=self.urlconf_name))
django.core.exceptions.ImproperlyConfigured: The included URLconf '<module 
'irbSite.urls' from 'C:\Users\doxpr\Desktop\WorkingProje
ctClassBased Views\WorkingProjectClassBased 
Views\capstoneProject\capstoneProject\irbSite\urls.py'>' does not appear 
to have any p
atterns in it. If you see valid patterns in the file then the issue is 
probably caused by a circular import.

如上所示,当我包含以下内容时出现循环导入错误:

url(r'irbSite/', include('irbSite.urls', namespace = 'irbSite')),
url(r'irbSite/', include('django.contrib.auth.urls'))

在urls.py项目文件夹中:

from django.conf.urls import url, include
from django.contrib import admin
from django.contrib.auth import views as auth_views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$', auth_views.LoginView.as_view(template_name = 
        'irbSite/login.html'),name='login'),
    url(r'irbSite/', include('irbSite.urls', namespace = 'irbSite')),
    url(r'irbSite/', include('django.contrib.auth.urls'))
]

然而,如果我不包含它,我的登录页面将会出现,但是当我点击注册时 link 我得到这个错误: "url patterns" ... "^admin/ ^$ [name='login'] 当前路径 register.html 与其中任何一个都不匹配。"

我的目录(不是代码):

irbsite
  pycache
  migrations
  static
  templates
  init.py
  admin.py
  apps.py
  forms.py
  models.py
  tests.py
  urls.py
  views.py
project
  pycache
  init.py
  settings.py
  urls.py
  wsgi.py
manage.py

我的 views.py(在 irbSite 文件夹中):

from django.contrib.auth import login, logout
from django.core.urlresolvers import reverse_lazy
from django.views.generic import CreateView
from . import forms

class Registration(CreateView):
    form_class = forms.UserCreateForm
    success_url = reverse_lazy('login')
    template_name = 'register.html'

我的 urls.py(在 irbSite 文件夹中):

from django.conf.urls import url
from django.contrib.auth import views as auth_views
from . import views

app_name = 'irbSite'

ulrpatterns = [
    url(r'logout/$', auth_views.LogoutView.as_view(),name='logout'),
    url(r'register/$',views.Registration.as_view(template_name = 
      'irbSite/register.html'),name='registration'),
]

我正在修改我从 udemy 课程中学习的教程。我碰壁了,有什么建议吗?

请注意,您没有收到循环导入错误,该消息只是表明可能是循环导入导致了问题。

在这种情况下,您的 irbSite/urls.py 有错字。应该是 urlpatterns 而不是 ulrpatterns.