首页 > 解决方案 > Django V2.1 reverse 不是有效的视图函数或模式名称

问题描述

我对 Django 很陌生,我在我的项目中创建了两个应用程序,一个是loginserver_status。我已使用命名空间方法在两个应用程序中访问我的登录名和 server_status。当我尝试访问索引时它工作正常,但是当我尝试访问它dashboardserver_status它不起作用。

Reverse for 'server_status' not found. 'server_status' is not a valid view function or pattern name

# server_status URL

from django.urls import path
from . import views

    urlpatterns = [
path('', include('server_status.urls', namespace='server_status')),
path('', include('login.urls', namespace='login')),
path('admin/', admin.site.urls),
]

# login app URL

app_name = 'login'

urlpatterns = [
    path('login', views.index, name='index')
]


# project URL

    from django.contrib import admin
    from django.urls import include, path

    app_name = 'server_status'

urlpatterns = [
    path('', views.index, name='index'),
    path('dashboard/', views.dashboard, name='dashboard'),
    path('server_status/', views.server_status, name='server_status'),
    path('request_access/', views.request_access, name='request_access'),
]

server_status/templates/server_status/index.html

<a href="{% url 'server_status:dashboard' %}" class="button primary centered-s">Login</a>

我知道这很简单,但它让我很复杂。

标签: pythondjango

解决方案


在发布的代码中,您定义urlpatterns了两次,因此第一组urlpatterns被第二组覆盖。由于server_status在第一组中定义,它不存在于内存中,因为您在第二个定义中删除了它。index是唯一存在的模式。我认为您在第二节中要做的是添加到 urlpatterns 中:

urlpatterns += [...]


推荐阅读