我有时收到一个不正确的配置"包含的URLconf' app_name.urls'似乎没有任何模式。"在我的网站上。 当我重新访问导致错误的URL时,它工作正常。错误显示"模式"在这些情况下是一个模块。大多数情况下它会正确加载我的网址。
有没有人发现我的网址存在问题?这是根网址replaceWith
和详细信息页面(/)
上发生的奇怪问题。我从未见过其他网址的错误,但是他们没有收到太多流量。我还没有能够重现错误,但我每天都会收到几次错误。
我使用Python 3.5.2和Django 2.0。我认为代码库是用Django 1.6编写的。我最近迁移到2.0,那时我注意到了这个问题。
我修改了django / urls / resolvers.py来记录'模式'变量,大部分时间我收到此列表:
(####/details)
urls.py
[<URLResolver <URLPattern list> (admin:admin) 'admin/'>,
<URLPattern '<int:pk>/details' [name='details']>,
<URLPattern 'check/' [name='check']>,
<URLPattern 'logout/' [name='logout']>,
<URLPattern 'search/' [name='search']>,
<URLPattern 'features/' [name='features']>,
<URLPattern 'terms-of-service/' [name='terms']>,
<URLPattern 'privacy-policy/' [name='privacy']>,
<URLPattern '' [name='index']>]
异常
from django.urls import path, re_path
from django.contrib import admin
from app_name import views
from app_name.result_view import SubmissionDetailView
handler404 = 'app_name.views.not_found_view'
urlpatterns = [
path('admin/', admin.site.urls),
path('<int:pk>/details', SubmissionDetailView.as_view(), name='details'),
path('check/', views.check, name='check'),
path('logout/', views.logout_view, name='logout'),
path('search/', views.search, name='search'),
path('features/', views.features, name='features'),
path('terms-of-service/', views.terms, name='terms'),
path('privacy-policy/', views.privacy, name='privacy'),
path('', views.index, name='index'),
]
回溯
django.core.exceptions.ImproperlyConfigured: The included URLconf 'app_name.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.
答案 0 :(得分:1)
代替这个;
from app_name import views
from app_name.result_view import
SubmissionDetailView
handler404 ='app_name.views.not_found_view'
urlpatterns = [
path('admin/', admin.site.urls),
path('<int:pk>/details',SubmissionDetailView.as_view(), name='details'),
path('check/', views.check, name='check'),
path('logout/', views.logout_view, name='logout'),
path('search/', views.search, name='search'),
path('features/', views.features, name='features'),
path('terms-of-service/', views.terms, name='terms'),
path('privacy-policy/', views.privacy, name='privacy'),
path('', views.index, name='index'),
]
您应该像这样将您的应用程序 url 包含到项目 urls.py 文件中:
项目 urls.py:
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/',admin.site.urls),
path('',include('app_name.urls'))
]
在 app_name 文件夹中创建一个 urls.py 文件,然后像这样描述你的 url:
app_name urls.py:
from django.urls import path
from . import views
from app_name.result_view import SubmissionDetailView
handler404 ='views.not_found_view'
urlpatterns = [
path('<int:pk>/details',SubmissionDetailView.as_view(), name='details'),
path('check/', views.check, name='check'),
path('logout/', views.logout_view, name='logout'),
path('search/', views.search, name='search'),
path('features/', views.features, name='features'),
path('terms-of-service/', views.terms, name='terms'),
path('privacy-policy/', views.privacy, name='privacy'),
path('', views.index, name='index'),
]