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

如何修改Django Admin中的应用名称与模型列表标题?

修改Django Admin面板的应用名称与模型列表标题

一、修改侧边栏中的应用名称

Django Admin侧边栏的应用名称由对应应用的AppConfig类定义,按以下步骤修改:

  • 打开目标应用的apps.py文件(例如Products应用的products/apps.py),修改AppConfig的verbose_name属性为你需要的波斯语名称:
# products/apps.py
from django.apps import AppConfig

class ProductsConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'products'
    verbose_name = 'محصولات'  # 替换为你的波斯语应用名称
  • 在项目根目录的settings.py中,将原应用注册项(如'products')替换为AppConfig的完整路径:
# settings.py
INSTALLED_APPS = [
    # 其他应用
    'products.apps.ProductsConfig',
    # 其他应用
]

刷新Admin页面后,侧边栏的应用名称会更新为设置的波斯语内容。

二、修改模型列表顶部的标题

模型列表页面顶部的默认标题格式为[模型复数名] | Django site admin,提供两种自定义方式:

方法1:针对单个模型自定义标题

在应用的admin.py中,为目标模型的ModelAdmin类重写changelist_view方法,自定义页面标题:

# products/admin.py
from django.contrib import admin
from .models import YourModel  # 替换为你的模型类

class YourModelAdmin(admin.ModelAdmin):
    # 你的其他配置(如list_display、search_fields等)
    
    def changelist_view(self, request, extra_context=None):
        extra_context = extra_context or {}
        # 设置波斯语标题
        extra_context['title'] = 'لیست محصولات | پنل مدیریت'
        return super().changelist_view(request, extra_context)

admin.site.register(YourModel, YourModelAdmin)

方法2:全局自定义Admin站点标题

如果需要统一修改所有页面的标题风格,可自定义AdminSite类:

# admin.py
from django.contrib.admin import AdminSite

class CustomAdminSite(AdminSite):
    # 全局站点头部标题
    site_header = 'پنل مدیریت سایت'
    # 浏览器标签页标题
    site_title = 'پنل مدیریت'
    # Admin首页标题
    index_title = 'مدیریت محتوا'
    
    # 可根据当前访问路径动态设置模型列表标题
    def each_context(self, request):
        context = super().each_context(request)
        if '/products/yourmodel/' in request.path:
            context['title'] = 'لیست محصولات'
        return context

# 初始化自定义站点
custom_admin_site = CustomAdminSite(name='custom_admin')
# 注册模型到自定义站点
custom_admin_site.register(YourModel, YourModelAdmin)

随后在项目的urls.py中替换原Admin路由:

# urls.py
from django.urls import path
from .admin import custom_admin_site

urlpatterns = [
    # path('admin/', admin.site.urls),  # 注释原路由
    path('admin/', custom_admin_site.urls),
    # 其他路由
]

内容的提问来源于stack exchange,提问作者ali.m.n.2003

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 23:17:34