You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Django Admin面板中操作区域的标题?

修改Django Admin面板操作区域标题的几种方案

方案一:自定义AdminSite全局修改

适合全站统一修改操作区域标题的场景:

  1. 在项目中新建(或修改)admin_site.py文件:
from django.contrib.admin import AdminSite
from django.utils.translation import gettext_lazy as _

class CustomAdminSite(AdminSite):
    # 替换这里的文本为你想要的标题
    action_header = _("自定义操作标题")

# 实例化自定义站点
custom_admin_site = CustomAdminSite(name='custom_admin')
  1. 在各App的admin.py中,用自定义站点注册模型:
from .models import Article
from ..admin_site import custom_admin_site

@custom_admin_site.register(Article)
class ArticleAdmin(admin.ModelAdmin):
    # 你的模型Admin配置项
    list_display = ('title', 'publish_date')
  1. 修改项目urls.py,替换默认的admin路由:
from django.urls import path
from .admin_site import custom_admin_site

urlpatterns = [
    path('admin/', custom_admin_site.urls),
]

方案二:覆盖Admin模板灵活定制

适合需要针对特定页面修改,或做更复杂样式调整的场景:

  1. 在项目templates目录下创建admin/change_list.html文件:
{% extends "admin/change_list.html" %}

{% block actions %}
    {% if actions %}
        <div class="actions">
            <!-- 替换这里的文本为自定义标题 -->
            <label>{% trans '批量操作' %}:</label>
            {{ actions }}
        </div>
    {% endif %}
{% endblock %}
  1. 确保settings.py的模板配置中,自定义模板目录优先级正确:
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR / 'templates'],  # 自定义模板目录放在前面
        'APP_DIRS': True,
        # 其他配置...
    },
]

方案三:单个ModelAdmin单独修改

只需给某一个模型的Admin页面改标题时用这个方法:

from django.contrib import admin
from django.utils.translation import gettext_lazy as _
from .models import Comment

class CommentAdmin(admin.ModelAdmin):
    def changelist_view(self, request, extra_context=None):
        extra_context = extra_context or {}
        # 传递自定义标题到模板
        extra_context['custom_action_title'] = _("评论批量操作")
        return super().changelist_view(request, extra_context)

admin.site.register(Comment, CommentAdmin)

然后修改admin/change_list.html模板,使用传递的变量:

{% extends "admin/change_list.html" %}

{% block actions %}
    {% if actions %}
        <div class="actions">
            <label>{{ custom_action_title|default:_('操作') }}:</label>
            {{ actions }}
        </div>
    {% endif %}
{% endblock %}

内容的提问来源于stack exchange,提问作者Darwin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 00:50:36