python - 如何更改 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 放入 \templates\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')
解决方案
您应该覆盖该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)
推荐阅读
- javascript - 如果一个列表仅包含一个字符串,则将两个列表与逗号分隔的字符串进行比较
- hadoop - 如何使用 CTE 更新表 - Hive
- typescript - TypeScript 类型别名,用于选择与对象中可能存在或不存在的任意键集匹配的对象的值
- server - 您是否需要专用服务器进行源代码控制?
- python - 熊猫每个给定的时间间隔插入行
- nuget - 无法从项目中获取 NuGet 包
- jenkins - 如何在 Jenkins 中使用“备份节点”?
- python-3.x - 如何通过转换为 PNG 从 JPEG 图像中获取透明背景?
- amazon-web-services - 区分 Shell 变量和 Cloudformation 模板参数
- phpstan - 怎么说phpstan那个类被孩子代替了