Django Admin的主题定制

2023-04-11 00:00:00 django 主题 定制

Django Admin的主题定制可以通过创建自定义的静态文件来实现。下面是一个简单的示例,演示如何使用自定义的CSS样式来修改Django Admin的外观。

  1. 创建static文件夹和css文件

首先,在项目的根目录下创建一个名为“static”的文件夹,并在其中创建一个名为“css”的子文件夹。在“css”文件夹中,创建一个名为“admin.css”的文件。

/static/css/admin.css

/* Set the background color of the django-admin header */
#header {
    background-color: #00BFFF;
}

/* Set the font of the django-admin header */
#header h1, #header h2 {
    font-family: Arial, sans-serif;
}

/* Change the background color of the django-admin sidebar */
#sidebar {
    background-color: #F5F5F5;
}

/* Set the font of the django-admin sidebar */
#sidebar ul a {
    font-family: Arial, sans-serif;
}
  1. 修改settings.py

打开项目的“settings.py”文件,并添加以下代码:

STATICFILES_DIRS = [
   os.path.join(BASE_DIR, "static"),
]

这将导致Django在找不到的情况下在static文件夹中查找自定义的静态文件。

  1. 更新urls.py

为了确保Django能够正确访问静态文件,您需要在项目的“urls.py”文件中添加以下代码:

from django.conf.urls.static import static
from django.conf import settings

urlpatterns = [
# ...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

  1. 启用自定义主题

现在,您已经创建了一个自定义的CSS文件,下一步是应用它。要启用该主题,请执行以下操作:

打开项目的“admin.py”文件,并包括以下代码:

from django.contrib import admin

class CustomAdmin(admin.AdminSite):
"""
A custom Django admin site that uses our custom theme.
"""
site_header = 'My Custom Admin'
site_title = 'Custom Admin'

admin_site = CustomAdmin(name='custom_admin')

现在,你可以使用以下代码在模型上注册你的新的admin网站/网站管理器:

from django.contrib import admin_site

admin_site.register(MyModel)

至此,您已经成功地定制了Django Admin的主题,并且您可以根据需要进行进一步的自定义和优化。

相关文章