首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

django:如何将主页链接添加到管理员

在Django中,要将主页链接添加到管理员界面,可以按照以下步骤操作:

  1. urls.py文件中,创建一个名为home的URL模式,指向主页视图函数。例如:
代码语言:python
代码运行次数:0
复制
from django.urls import path
from . import views

urlpatterns = [
    # ...其他URL模式...
    path('', views.home, name='home'),
]
  1. views.py文件中,创建一个名为home的视图函数,该函数将返回主页的内容。例如:
代码语言:python
代码运行次数:0
复制
from django.shortcuts import render

def home(request):
    return render(request, 'app/home.html')
  1. admin.py文件中,创建一个名为AdminSite的子类,并覆盖get_urls方法,以添加主页链接。例如:
代码语言:python
代码运行次数:0
复制
from django.contrib import admin
from django.urls import path
from django.utils.html import format_html

class CustomAdminSite(admin.AdminSite):
    def get_urls(self):
        urls = super().get_urls()
        custom_urls = [
            path('', self.admin_view(self.home_view), name='home'),
        ]
        return custom_urls + urls

    def home_view(self, request):
        return render(request, 'admin/home.html')

admin_site = CustomAdminSite(name='custom_admin')
  1. templates/admin/base_site.html文件中,修改导航栏,添加主页链接。例如:
代码语言:html
复制
{% extends "admin/base.html" %}

{% block extrahead %}
    {{ block.super }}
   <style>
        #header {
            background-color: #007bff;
        }
        #header h1 a {
            color: white;
        }
    </style>
{% endblock %}

{% block branding %}
    <a href="{% url 'custom_admin:home' %}" class="logo">
        <img src="{% static 'admin/img/logo-header.svg' %}" alt="Logo">
        <span>My Website</span>
    </a>
{% endblock %}

{% block nav-global %}{% endblock %}

{% block notifications %}
    {% if messages %}
        <ul class="messagelist">
            {% for message in messages %}
                <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>
                    {% if message.level_tag == 'error' %}<strong>{{ _("Error") }}:</strong> {% endif %}
                    {{ message|capfirst }}
                </li>
            {% endfor %}
        </ul>
    {% endif %}
{% endblock %}

现在,在Django管理员界面中,导航栏应该会显示一个指向主页的链接。点击该链接将重定向到主页视图。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券