如何在我的用户页面 (HTML) 中为 django Admin 创建 url

How do create url to django Admin within my user page (HTML)

我是编码新手,我正在尝试在 NavBar 中创建 URL link 以重定向我的 Django Admin 示例:

<a class="nav-link" href="{% url 'admin'%}"> Admin site </a>

但是,Django 确实找到了;无反向匹配,

它适用于其他 URL links

我必须尝试的事情:

  1. 正在项目中添加名称URL
  2. 在我的应用程序中包含 URL 路径 URL

我的项目URL代码:

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

urlpatterns = [
    path(r'admin/', admin.site.urls, name='admin' ),
    path(r'accounts/', include('django.contrib.auth.urls')),
    path(r'api-auth/', include('rest_framework.urls'), name='rest_framework'),
    path(r'', include('app.urls')),

我的应用URL代码:

from django.urls import path, include
from . import views #function views
from django.contrib.auth.decorators import login_required, permission_required


from rest_framework import routers
router = routers.DefaultRouter()
router.register(r'tank', views.TankViewSet)
router.register(r'room', views.RoomViewSet)
# Wire up our API using automatic URL routing.
# Additionally, we include login URLs for the browsable API.

urlpatterns = [
    path(r'',login_required(views.index), name='index'),
    path (r'test/',views.Test),
    path(r'^Water/',login_required(views.Lquid), name='tank'),
    path(r'^Ambient/',login_required(views.Ambient), name='room'),
    path(r'Rest-api/', include(router.urls)),
   #path(r'admin/', admin.site.urls, name='admin' ), this somthing I had try
    ]

基本上,Django 以一种有效的方式生成并重定向到任何页面上的 URL link

导航栏: 管理站点

应用URL: 路径(r'',login_required(views.index),名称='index'),

有了这两个 link,它会重定向到您设置的页面。

徒弟有冷帮手

您需要指定在执行反向查找管理时要重定向到的管理页面。要进入管理员主页,您将需要此反向查找

reverse('admin:index')

因此 link 到导航栏中的管理主页,它应该如下所示

<a class="nav-link" href="{% url 'admin:index' %}"> Admin site </a>

查看有关如何反向查找管理页面的docs