django - NoReverseMatch at 不是注册的命名空间
问题描述
我看到有很多这个错误的例子,但我不知道为什么我的代码不起作用。我正在使用 Django 3.0.3,但NoReverseMatch at /browse/ 'browse' is not a registered namespace
在我的browse
应用程序中出现错误。在我看来,我拥有所需的一切,是否需要添加对browse
其他地方的引用?
视图.py:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
path('register', views.register, name='register'),
]
网址.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")
布局.html:
<a class="dropdown-item" href="{% url 'browse:register' %}">Register</a>
项目范围的 urls.py:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('browse/', include('browse.urls')),
]
解决方案
删除browse
你可以直接这样做
<a class="dropdown-item" href="{% url 'register' %}">Register</a>
如果你想像这样使用它
<a class="dropdown-item" href="{% url 'browse:register' %}">Register</a>
然后你必须添加app_name = 'browse'
urls.py
app_name = 'browse'
urlpatterns = [
path('', views.index, name='index'),
path('register', views.register, name='register'),
]
推荐阅读
- c# - 来自 Windows 用户的 GraphQL .NET Core API 身份验证
- apache - 通过 ubuntu 16.04 上的 webmin 在 Apache 2.4 上配置虚拟主机
- javascript - 如何在页面中设置页脚以同时在 PWA 和浏览器上工作?
- javascript - 如何在JS中存储map函数返回的结果数组(React Native)
- java - IllegalStateException:Fragment FiltroOpcao 未附加到上下文。- Android 错误
- regex - 正则表达式:检查字符串是否对应单词编号列表样式
- css - CSS3 媒体查询不能接受更大的最小宽度值
- java - @JsonFormat 在序列化对象时更改时间戳值
- javascript - 如何从 MongoDB 函数中的函数获取变量?
- mysql - 根据其他两个时间戳字段更新日期字段