我正在使用django开发应用程序。
我想自定义django管理界面,但无法向其中添加自定义字体。
我想为波斯语言使用自定义字体。
这是我所做的,但没有得到正确的结果:
第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')
答案 0 :(得分:1)
您应该覆盖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)
答案 1 :(得分:0)
您需要添加base_site.html,如下所示:-
{%扩展了“ 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%}
答案 2 :(得分:0)
我不确定您是否仍然存在此问题,或者版本是否使事情有所不同,但是我认为这可以解决问题。
https://docs.djangoproject.com/en/3.0/howto/static-files/
根据上述文档,.css作为静态文件与.htmls放在不同的目录中。如果您具有与官方示例相同的配置,则可以在app文件夹下创建一个名为“ static”的目录,并将您的CSS文件放在此处。
{% static %}
指向该文件夹。因此,如果您在HTML中编写{% static "css/admin-extra.css" %}
,则CSS应该在APP_FOLDER/static/css/admin-extra.css
中。
希望它能起作用。