我有一个带有两个应用程序(“项目”和“代码箱”)的Django项目,它们运行良好,然后在某个时候出现以下错误:
django.urls.exceptions.NoReverseMatch:'admin'未注册 命名空间
如果我从模板中删除了到管理面板的链接,此错误就消失了,但是我无法进入管理面板:
<a href="{% url "admin:index" %}">Admin</a>
发生此错误时,我正在urls.py文件中工作,是否更改了一些无意对管理员链接产生影响的内容?
这是我的顶级urls.py文件:
from django.contrib import admin
from django.urls import include, path, re_path
urlpatterns = [
# path('', include('projects.urls')),
path('projects/', include('projects.urls')),
re_path('^accounts/', include('django.contrib.auth.urls')),
re_path('^logged_out/', include('projects.urls')),
path('codebox/', include('codebox.urls')),
]
这是我的“项目”的urls.py:
from django.urls import path, include
from . import views
app_name = 'projects'
urlpatterns = [
path('', views.IndexView.as_view(), name='index'),
path('<int:pk>/', views.DetailView.as_view(), name='detail'),
path('insight/', views.InsightView.as_view(), name='insight'),
path('logged_out/', views.LoggedoutView.as_view(), name='loggedout'),
path('insight/subgen/', views.SubgenView.as_view(), name='subgen'),
]
这是我的第二个应用代码框的urls.py:
from django.urls import path, include
from . import views
app_name = 'codebox'
urlpatterns = [
path('', views.IndexView.as_view(), name='index'),
path('<int:pk>/', views.DetailView.as_view(), name='detail'),
path('form/', views.CreateView, name="form"),
]
答案 0 :(得分:0)
将此添加到 project/urls.py 的顶部
from django.conf.urls import include, url
然后将其添加到 url_pattern
url(r' ', include(('<app_name>.urls','<app_name>'), namespace='<app_name>')),
希望这会奏效
答案 1 :(得分:-1)
检查您扩展到其他 html 页面的基本 html 文件。如果 urls 标记之间有一些空间,请删除该空间并保存您的文件,然后再试一次,您可以检查以下代码以获取参考。
from django.contrib import admin
from django.urls import path, include
from passapp import views
urlpatterns = [
path('', views.index, name='index'),
path('admin/', admin.site.urls),
path('passapp/', include('passapp.urls')),
]
href="{% url 'admin:index' %}"