我理解循环导入错误已被问到很多,但在经过这些问题之后我还没有能够解决我的问题。当我尝试在Django中运行我的服务器时,它给我这个错误消息:
包含的URLconf模块' accounts_app'从path \到\ myproject \ __ init__.py似乎没有任何模式。如果您在文件中看到有效模式,则问题可能是由循环导入引起的。
问题开始时,我添加了一个新的应用程序,其中包含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'),
]
我的项目urls.py有一行指向应用程序,看起来像下面的代码
urlpatterns = [
url(r'^accounts/', include('accounts_app')),
]
我的观点如下:
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>")
任何人都可以帮我确认我是否可能出错。
答案 0 :(得分:13)
尝试更改
urlpatterns = [
url(r'^accounts/', include('accounts_app')),
]
到
urlpatterns = [
url(r'^accounts/', include('accounts_app.urls')), # add .urls after app name
]
答案 1 :(得分:4)
对于那些具有相同错误但仍未调试其代码的用户,还请检查您如何键入“ urlpatterns”
输入错误或带有下划线/下划线将导致相同的错误
答案 2 :(得分:1)
在我的情况下,我遇到了错误,因为我给出了包含URL的目录错误路径。所以我改变了
urlpatterns = [
url(r'^user/', include('core.urls'))
]
对此
urlpatterns = [
url(r'^user/', include('core.urls.api'))
]
答案 3 :(得分:1)
在我的情况下,出现此错误是因为我为需要slug参数但未在其中放置正确参数的url调用了反向函数。
一旦我修复了反向功能,它就解决了。
答案 4 :(得分:0)
那些习惯使用CamelCased名称的人也可能会遇到错误。
urlpatterns
的键入必须与'urlpatterns'
这将显示错误-
urlPatterns = [
path('', views.index, name='index'),
错误-
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.
但是,修复CamelCase可以正常工作-
urlpatterns = [
path('', views.index, name='index'),
]
答案 5 :(得分:0)
在我的情况下,由于在urls.py中输入 urlpatterns 到 urlpattern 而出现了此错误。
答案 6 :(得分:0)
如果views.py中不存在SomeView并执行此操作,也会出现此错误:
from someapp import views
urlpatterns = [
path('api/someurl/', views.SomeView.as_view(), name="someview"),
]
因此请确保您在urls.py中使用的所有视图都在views.py中存在
答案 7 :(得分:0)
以我为例,
/SLMS_APP1/urls.py'>'似乎没有任何模式。如果您在文件中看到有效的模式,则说明问题可能是由循环导入引起的。
我在'urlpatter'
中打了一个错字urlpatter = [ path('',views.index,name ='index'),
]
正确拼写必须为'urlpatterns'
urlpatterns = [ path('',views.profile,name ='profile'),
]
答案 8 :(得分:0)
搜索1小时后,似乎是错误的拼写,应该是: urlpatterns
urlpatterns = [
path('', views.index, name="index")
]
答案 9 :(得分:0)
当您将应用程序包含在主 urls.py 文件中并且尚未声明 urlpattern= [] 应用程序内文件时,基本上会发生此错误。
答案 10 :(得分:0)
在我的情况下,我在我的 success_url 上将“reverse”更改为“reverse_lazy”,并且神奇地起作用了。