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

如何在Django中自定义开发匹配指定模板样式的admin后台管理面板

Django Admin定制开发实操步骤

1. 前期环境准备

  • 确保Django项目已正常运行,推荐使用3.2及以上稳定版本,执行pip list可确认Django安装状态
  • 在项目根目录新建templates/admin文件夹,该目录模板优先级高于Django自带的admin模板,用来存放自定义的后台模板文件

2. 基础布局与样式定制

  • 首先重写admin基础模板,在新建的templates/admin目录下创建base_site.html,覆盖默认的admin基础配置,示例代码如下:
{% extends "admin/base.html" %}
{% block title %}自定义后台管理 | {{ site_title|default:_('Django site admin') }}{% endblock %}
{% block branding %}
<h1 id="site-name"><a href="{% url 'admin:index' %}">你的后台名称</a></h1>
{% endblock %}
{% block nav-global %}{% endblock %}
{% block extrastyle %}
<style>
/* 此处写入自定义CSS,根据参考模板调整颜色、布局、字体等样式,实现视觉效果对齐 */
:root {
  --primary: #2c3e50;
  --secondary: #3498db;
  --accent: #f39c12;
}
</style>
{% endblock %}
  • 若需要调整列表页、表单页的页面结构,可将Django自带的对应模板文件复制到自建的admin目录下修改,默认模板路径为Python安装目录下的Lib/site-packages/django/contrib/admin/templates/admin

3. 功能模块自定义

  • 列表页配置:在admin.py对应的ModelAdmin类中配置展示参数,示例如下:
from django.contrib import admin
from .models import 你的模型类

@admin.register(你的模型类)
class 你的模型类Admin(admin.ModelAdmin):
    # 列表页展示字段
    list_display = ('id', '名称字段', '创建时间', '启用状态')
    # 右侧筛选字段
    list_filter = ('启用状态', '创建时间')
    # 顶部搜索匹配字段
    search_fields = ('名称字段', '描述字段')
    # 列表默认排序规则
    ordering = ('-创建时间',)
  • 表单页配置:通过fieldsets配置表单字段分组展示,exclude配置隐藏不展示的字段,readonly_fields配置不可编辑的只读字段
  • 自定义功能扩展:可重写changelist_view方法添加自定义页面逻辑,通过actions配置批量操作按钮,满足个性化功能需求

4. 效果调试

  • 每次修改模板、样式或逻辑代码后重启Django服务,刷新后台页面对比参考模板调整细节
  • 若需要添加JS交互逻辑,可在base_site.html的extrahead块中引入本地静态JS文件或写入自定义JS代码,静态文件需放在你配置的STATICFILES_DIRS对应目录下,通过{% static %}标签引入

5. 权限配置

  • 完成开发后可在Django自带的权限管理模块中,给不同用户组分配对应模型的增删改查权限,实现多角色后台访问控制

内容的提问来源于stack exchange,提问作者رضا خلیلیان عادل

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:15:09