首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到‘舰队’的反向。“‘fleet”不是有效的视图函数或模式名称

找不到‘舰队’的反向。“‘fleet”不是有效的视图函数或模式名称
EN

Stack Overflow用户
提问于 2019-11-04 18:03:11
回答 2查看 48关注 0票数 0

当我试图访问登录页面时,我得到了上面的错误。

我遗漏了什么?

回溯

代码语言:javascript
复制
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代码

代码语言:javascript
复制
<button>
  `<a href="{% url 'trucks:fleet' %}"> Fleet Admin </a>
</button>

下面是应用程序的urls.py文件

代码语言:javascript
复制
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文件

代码语言:javascript
复制
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文件

代码语言:javascript
复制
class FleetAdminSite(admin.AdminSite):
  site_header = ''
  site_title = ''
  index_title = ''


fleet_admin_site = FleetAdminSite(name='fleet_admin')
EN

回答 2

Stack Overflow用户

发布于 2019-11-04 18:34:21

通过查看代码,您需要添加方法或类,而不是任何扩展

代码语言:javascript
复制
  path('fleet/', fleet_admin_site.urls, name="fleet"),

  path(route, view, kwargs=None, name=None)

参考this

票数 0
EN

Stack Overflow用户

发布于 2019-11-04 21:01:56

您将使用以下命令包括舰队管理员:

代码语言:javascript
复制
urlpatterns = [
    path('fleet/', fleet_admin_site.urls, name="fleet"),
]

你不能通过{% url 'trucks:fleet' %}来反转fleet_admin_site.urls。你需要使用reverse a particular admin URL

例如,要反转索引,您将执行以下操作:

代码语言:javascript
复制
{% 'trucks:fleet_admin:index' %}

在上面的代码中,使用trucks是因为urls.py中有app_name = 'trucks',使用fleet_admin是因为这是fleet_admin_site = FleetAdminSite(name='fleet_admin')中的名称空间,使用index是因为要反转视图。

最后,path()中的name没有任何作用,因此我将删除它。

代码语言:javascript
复制
urlpatterns = [
    path('fleet/', fleet_admin_site.urls),
]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58691052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档