找不到“车队”的倒车。 'fleet'不是有效的视图函数或模式名称

时间:2019-11-04 10:03:10

标签: python django

尝试访问登录页面时出现上述错误。

我想念什么?

追踪

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')

2 个答案:

答案 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.pyfleet_adminfleet_admin_site = FleetAdminSite(name='fleet_admin')中的命名空间,而{{ 1}},因为这是您要反转的视图。

最后,您的index中的name没有任何作用,因此我将其删除。

path()