首页 > 解决方案 > 如何更改 django admin css 样式和字体?

问题描述

我正在用 django 开发一个应用程序。

我想自定义 django 管理界面,但我无法为其添加自定义字体。

我想为 Persian Language 使用自定义字体。

这是我所做的,但没有得到正确的结果:

步骤1 :

我在此目录中创建了一个名为 admin-extra.css 的 css 文件:

/templates/css/admin-extra.css 

之后,我在已安装的应用程序中更改了 django.contrib.admin 之前 myappname 的位置,如下所示:

INSTALLED_APPS = [
    'django.contrib.auth',
    'pool',
    'django.contrib.admin',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'fcm_django'
]

admin-extra.css 是这样的:

body {
    margin: 0;
    padding: 0;
    font-size: 40px;
    color: #333;
    background: #fff;
}

最后,我将 admin-extra 放入 \t​​emplates\base_site.html 中名为 base_site.css 的文件中,其内容如下:

{% extends "admin/base.html" %}
{% load static from staticfiles %}
{% block title %}{{ title }} | {{ site_title|default:_('Django site admin') }}{% endblock %}
{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "css/admin-extra.css" %}" />{% endblock %}
{% block branding %}
<h1 id="site-name"><a href="{% url 'admin:index' %}">{{ site_header|default:_('Django administration') }}</a></h1>
{% endblock %}


{% block nav-global %}{% endblock %}

但我看不到结果,

我错过了什么或错了什么?

任何建议都会有所帮助。

注意:这不是重复的帖子。

这是 Admin.py 文件:

from django.contrib import admin

# Register your models here.
from .models import *




@admin.register(Ticket)
class TicketAdmin(admin.ModelAdmin):
    list_display = ('id','title','body','answer')




@admin.register(Activation)
class ActivationAdmin(admin.ModelAdmin):
    list_display = ('activecode','user_phone','createtime')
    list_filter =  ('activecode','user_phone','createtime')
    search_fields =  ('activecode','user_phone','createtime')


@admin.register(App)
class AppAdmin(admin.ModelAdmin):
    list_display = ('version','versionurl','bonprice','rahnama')
    list_filter = ('version','versionurl','bonprice','rahnama')
    search_fields = ('version','versionurl','bonprice','rahnama')

@admin.register(Bid)
class BidAdmin(admin.ModelAdmin):
    list_display = ('user','bidtime','competition','maxbon','bonnumber')
    list_filter = ('user','bidtime','competition','maxbon','bonnumber')
    search_fields = ('user','bidtime','competition','maxbon','bonnumber')

标签: pythondjangodjango-templatesdjango-admin

解决方案


您应该覆盖该admin.py文件。

from django.contrib import admin
class MyModelAdmin(admin.ModelAdmin):
    class Media:   
        css = {
             'all': ('/templates/css/admin-extra.css ',)
        }


admin.site.register(MyModel,MyModelAdmin)

推荐阅读