Django 基础教程

Django 查询

Django 展示数据

Django Admin

Django 模板

Django 表单组件

Django 高级

Django FAQ

django修改admin页面


自定义 Admin 页面的实现方式

使用自定义模板

通过创建自定义的 HTML 模板来修改 Admin 页面的外观和布局。

  1. 创建一个名为 admin 的文件夹,然后在其中创建名为 base_site.html 的文件,作为 Admin 的基础模板。
  2. base_site.html 中继承 Django 自带的 Admin 模板,并在合适的位置插入你的自定义内容。
<!-- admin/base_site.html -->

{% extends 'admin/base.html' %}

{% block extrahead %}
    <!-- 添加自定义的CSS和JavaScript资源 -->
    <link rel="stylesheet" type="text/css" href="{% static 'css/custom_admin.css' %}">
    <script type="text/javascript" src="{% static 'js/custom_admin.js' %}"></script>
{% endblock %}

使用 Admin 扩展

通过继承 Django 的 Admin 类来自定义 Admin 页面的行为和显示。

  1. 创建一个继承自 admin.ModelAdmin 的类,然后在其中定义你的自定义逻辑和显示选项。
  2. admin.py 文件中将你的模型和自定义 Admin 类关联起来。
# admin.py

from django.contrib import admin
from .models import YourModel

class YourModelAdmin(admin.ModelAdmin):
    list_display = ('field1', 'field2', 'field3')
    list_filter = ('field1',)
    search_fields = ('field2',)

admin.site.register(YourModel, YourModelAdmin)

使用装饰器

通过使用装饰器来自定义 Admin 页面的显示和行为。

  1. admin.py 文件中,导入 adminregister 装饰器。
  2. 使用 @register 装饰器来注册你的模型,并在装饰器中传入自定义的选项。
# admin.py

from django.contrib import admin
from .models import YourModel

@admin.register(YourModel)
class YourModelAdmin(admin.ModelAdmin):
    list_display = ('field1', 'field2', 'field3')
    list_filter = ('field1',)
    search_fields = ('field2',)

自定义 Admin 模板标签

通过创建自定义的模板标签来在 Admin 页面中插入自定义内容。

  1. 创建一个名为 templatetags 的文件夹,并在其中创建一个 Python 文件,如 custom_admin_tags.py
  2. custom_admin_tags.py 中,创建自定义模板标签,然后在 Admin 模板中使用这些标签。
# custom_admin_tags.py

from django import template
register = template.Library()

@register.simple_tag
def custom_message():
    return "This is a custom message."

<!-- 在Admin模板中使用自定义模板标签 -->
{% load custom_admin_tags %}
{% custom_message %}

总结

无论你选择哪种方式,都可以通过自定义模板、继承 Admin 类、使用装饰器或创建模板标签来修改 Django Admin 页面的外观和行为。根据你的需求和偏好,选择最适合你的方法进行定制。

在Django中,你可以通过自定义admin页面来扩展和改进Django默认提供的管理界面。py`文件中,添加以下代码:这里我们使用了`@s ...
##重定向(Redirect)方式跳转页面重定向是一种常见的页面跳转方式,它会将用户从当前页面导航到另一个页面。它可以带参数,并且在Djan ...
DjangoAdmin是DjangoWeb框架提供的一个功能强大的自动生成后台管理界面的工具。MVT和MVC(Model-View-Cont ...
Elasticsearch修改数据的实现方式Elasticsearch提供了多种方式来修改数据,以便在索引中更新、替换或部分更改文档。### ...
在这个例子中,我将展示如何创建一个基本的Django-Vue管理界面,其中Django作为后端API,而Vue.###步骤1:Django后 ...