Django 处的NoReverseMatch不是注册的命名空间

Django 处的NoReverseMatch不是注册的命名空间,django,Django,我看到有很多关于这个错误的例子,但是我不明白为什么我的代码不能工作。我正在使用Django 3.0.3,我得到一个错误,它说,NoReverseMatch at/browse/'browse'不是我的browse应用程序中注册的命名空间。在我看来,我已经拥有了所需的一切,我是否需要在其他地方添加对browse的引用 views.py: from django.urls import path

我看到有很多关于这个错误的例子,但是我不明白为什么我的代码不能工作。我正在使用Django 3.0.3,我得到一个错误,它说,
NoReverseMatch at/browse/'browse'不是我的
browse
应用程序中注册的命名空间。在我看来,我已经拥有了所需的一切,我是否需要在其他地方添加对
browse
的引用

views.py:

from django.urls import path                              
                                                          
from . import views                                       
                                                          
urlpatterns = [                                           
        path('', views.index, name='index'),              
        path('register', views.register, name='register'),
        ]   
URL.py:

 from django.http import HttpResponse              
 from django.shortcuts import render               
                                                   
 # Create your views here.                         
                                                   
 def index(request):                               
     return render(request, "browse/index.html")   
                                                   
 def register(request):                            
     return render(request, "browse/register.html")
                                             
layout.html:

<a class="dropdown-item" href="{% url 'browse:register' %}">Register</a>

删除
browse
您可以直接这样做

<a class="dropdown-item" href="{% url 'register' %}">Register</a>
<a class="dropdown-item" href="{% url 'register' %}">Register</a>
<a class="dropdown-item" href="{% url 'browse:register' %}">Register</a>
app_name = 'browse'
urlpatterns = [                                           
        path('', views.index, name='index'),              
        path('register', views.register, name='register'),
        ]