如何更改Django管理css样式和字体?

2024-04-29 15:09:46 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我想自定义django管理界面,但我不能添加自定义字体。在

我想用波斯语的自定义字体。在

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

第一步:

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

/templates/css/admin-extra.css 

在那之后,我改变了我之前的名字django.contrib.admin在这样的已安装应用中:

^{pr2}$

还有管理员-额外.css是这样的:

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

最后我在一个名为base的文件中添加了admin extra_网站.css在\templates\base中_网站.html它的内容是这样的:

{% 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 %}

但我看不到结果

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

任何建议都会有帮助的。在

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

这是管理员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')

Tags: 文件djangoregisteradmintitledisplaysiteblock
3条回答

我不确定你是否仍然有这个问题,或者版本是否使事情有所不同,但这里是我认为可以解决问题的方法。在

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中。在

希望它能起作用。在

你需要加基数_网站.html作为以下内容:在

  • 模板
    • 管理员
      • 基地_网站.html在

{%extends“管理/基本.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%}

您应该重写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)

相关问题 更多 >