当我试图访问登录页面时,我得到了上面的错误。
我遗漏了什么?
回溯
NoReverseMatch at /
Reverse for 'fleet' not found. 'fleet' is not a valid view function or pattern name.
Request Method: GET
Request URL: http://127.0.0.1:8000/
Django Version: 2.2.6
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'fleet' not found. 'fleet' is not a valid view function or pattern name.下面是base.html代码
<button>
`<a href="{% url 'trucks:fleet' %}"> Fleet Admin </a>
</button>下面是应用程序的urls.py文件
from django.urls import path
from .admin import fleet_admin_site
app_name = 'trucks'
urlpatterns = [
path('fleet/', fleet_admin_site.urls, name="fleet"),
]和主urls.py文件
from django.contrib import admin
from django.urls import path, include, reverse
from django.views.generic import TemplateView
urlpatterns = [
path('admin/', include('workers.urls')),
path('admin/', include('trucks.urls')),
path('', TemplateView.as_view(template_name='base.html')),
]扩展AdminSite的admin.py文件
class FleetAdminSite(admin.AdminSite):
site_header = ''
site_title = ''
index_title = ''
fleet_admin_site = FleetAdminSite(name='fleet_admin')发布于 2019-11-04 18:34:21
通过查看代码,您需要添加方法或类,而不是任何扩展
path('fleet/', fleet_admin_site.urls, name="fleet"),
path(route, view, kwargs=None, name=None)参考this
发布于 2019-11-04 21:01:56
您将使用以下命令包括舰队管理员:
urlpatterns = [
path('fleet/', fleet_admin_site.urls, name="fleet"),
]你不能通过{% url 'trucks:fleet' %}来反转fleet_admin_site.urls。你需要使用reverse a particular admin URL。
例如,要反转索引,您将执行以下操作:
{% 'trucks:fleet_admin:index' %}在上面的代码中,使用trucks是因为urls.py中有app_name = 'trucks',使用fleet_admin是因为这是fleet_admin_site = FleetAdminSite(name='fleet_admin')中的名称空间,使用index是因为要反转视图。
最后,path()中的name没有任何作用,因此我将删除它。
urlpatterns = [
path('fleet/', fleet_admin_site.urls),
]https://stackoverflow.com/questions/58691052
复制相似问题