簡體   English   中英

如何更改 django admin css 樣式和字體?

[英]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如下:

  • 模板
    • 行政
      • 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM