[英]How to Change django admin css style and font?
我正在使用 django 開發應用程序。
我想自定義 django 管理界面,但我無法為其添加自定義字體。
我想為 Persian Language 使用自定義字體。
這是我做了什么但沒有得到正確的結果:
第1步 :
我在這個目錄中創建了一個名為 admin-extra.css 的 css 文件:
/templates/css/admin-extra.css
之后,我在已安裝的應用程序中更改了 myappname 在 django.contrib.admin 之前的位置,如下所示:
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)
您需要添加base_site.html
如下:
和:
{% extends "admin/base.html" %}
{% load static from staticfiles %}
{% load i18n grp_tags %}
{% block title %}{{ title }} | {% get_site_title %}
{% endblock %}
{% block extrastyle %}
<link rel="stylesheet" type="text/css" href="{% static "css/admin-extra.css" %}" />
{% endblock %}
{% block branding %}
{# Use the div#grp-branding for branding elements, e.g. a logo #}
{# <div id="grp-branding"></div> #}
{% endblock %}
{% block nav-global %}
{% endblock %}
我不確定您是否仍然有這個問題,或者版本是否使事情有所不同,但這是我認為可以解決問題的方法。
https://docs.djangoproject.com/en/3.0/howto/static-files/
根據上面的文檔,.css 作為靜態文件放置在與 .htmls 不同的目錄中。 如果您的配置與官方示例相同,則可以在您的應用程序文件夾下創建一個名為“static”的目錄,並將您的 css 文件放在那里。 {% static %}
指向該文件夾。 因此,如果您在 html 中寫入{% static "css/admin-extra.css" %}
,則您的 css 應該在APP_FOLDER/static/css/admin-extra.css
。
希望它有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.