尝试访问登录页面时出现上述错误。
我想念什么?
追踪
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')
答案 0 :(得分:0)
通过查看您的代码 您需要添加方法或类而不是任何扩展名
path('fleet/', fleet_admin_site.urls, name="fleet"),
path(route, view, kwargs=None, name=None)
推荐this
答案 1 :(得分:0)
您要为车队管理员添加以下内容:
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
是因为app_name = 'trucks'
中有urls.py
,fleet_admin
是fleet_admin_site = FleetAdminSite(name='fleet_admin')
中的命名空间,而{{ 1}},因为这是您要反转的视图。
最后,您的index
中的name
没有任何作用,因此我将其删除。
path()