试图跟踪django中的循环导入错误

Tat*_*nda 11 python django django-views

我理解循环导入错误已被问到很多,但在提出这些问题后,我无法解决我的问题.当我尝试在django中运行我的服务器时,它给我这个错误消息:

从路径\到\ myproject\__ init__.py包含的URLconf模块"accounts_app"似乎没有任何模式.如果您在文件中看到有效模式,则问题可能是由循环导入引起的.

问题开始时,我添加了一个具有urls.py的新应用程序,如下所示

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^signin$', views.signin, name='signin'),
    url(r'^signout$', views.signout, name='signout'),
    url(r'^signup$', views.signup, name='signup'),
]
Run Code Online (Sandbox Code Playgroud)

我的项目urls.py有一行指向应用程序,看起来像下面的代码

urlpatterns = [
     url(r'^accounts/', include('accounts_app')),
]
Run Code Online (Sandbox Code Playgroud)

我的观点如下:

from django.shortcuts import render
from django.http import HttpResponse

def signin(request):
    return HttpResponse("<p>This the signin view</p>")

def signout(request):
    return HttpResponse("<p>This the signout view</p>")

def signup(request):
    return HttpResponse("<p>This the signup view</p>")
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我确认我可能会出错.

Rah*_*pta 15

尝试改变

urlpatterns = [
     url(r'^accounts/', include('accounts_app')),
] 
Run Code Online (Sandbox Code Playgroud)

urlpatterns = [
     url(r'^accounts/', include('accounts_app.urls')), # add .urls after app name
]
Run Code Online (Sandbox Code Playgroud)


小智 10

对于那些具有相同错误但仍未调试其代码的用户,还请检查您如何键入“ urlpatterns”

输入错误或带有破折号/下划线将导致相同的错误

  • 非常感谢你。urlpatterns 中缺少 N 让我损失了 5 个小时。 (2认同)

nit*_*708 8

那些习惯使用 CamelCased 名称的人也可能面临这个错误。

urlpatterns必须完全输入为“urlpatterns”

这将向您显示错误 -

urlPatterns = [
    path('', views.index, name='index'),
Run Code Online (Sandbox Code Playgroud)

错误 -

django.core.exceptions.ImproperlyConfigured: The included URLconf '<module 'polls.urls' from '...\\polls\\urls.py'>' 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.
Run Code Online (Sandbox Code Playgroud)

但是,修复 CamelCase 将起作用-

urlpatterns = [
    path('', views.index, name='index'),
]
Run Code Online (Sandbox Code Playgroud)


小智 5

经过 1 小时的搜索,似乎拼写错误,应该是:urlpatterns

urlpatterns = [
   path('', views.index, name="index")
]
Run Code Online (Sandbox Code Playgroud)