J'ai une coutume css
和 js
文件、admin.py
和覆盖的 base.html 位于 templates/admin/app1/
comme celle-ci :
django-project |-core | |-settings.py | └-static | └-core | └-admin | └-app1 | |-css | | └-custom.css # Here | └-js | └-custom.js # Here |-app1 | |-models.py | └-admin.py # Here |-app2 └-templates └-admin └-app1 └-base.html # Here
Tout d'abord, je vais personnaliser css
和 js
文件分别设置为 c 中所有管理员
Person
、Animal
和 Food
的 Media 类中的 css
和 endcphpcn phpcnapp1
如下所示,然后我可以将它们应用到所有管理员 Person
、Animal
和 Food
app1
:
# "app1/admin.py" from django.contrib import admin from .models import Person, Animal, Food @admin.register(Person) class PersonAdmin(admin.ModelAdmin): class Media: css = { 'all': ('core/admin/app1/css/custom.css',) # Here } js = ('core/admin/app1/js/custom.js',) # Here @admin.register(Animal) class AnimalAdmin(admin.ModelAdmin): class Media: css = { 'all': ('core/admin/app1/css/custom.css',) # Here } js = ('core/admin/app1/js/custom.js',) # Here @admin.register(Food) class FoodAdmin(admin.ModelAdmin): class Media: css = { 'all': ('core/admin/app1/css/custom.css',) # Here } js = ('core/admin/app1/js/custom.js',) # Here
Cependant, la solution ci-dessus n'est pas efficace, je les règle donc après <link ..."admin/css/base.css" %}{% endblock %}">
in base.html
comme indiqué ci-dessous, mais la solution suivante ne fonctionne pas :
# "templates/admin/app1/base.html" # ... <title>{% block title %}{% endblock %}</title> <link rel="stylesheet" href="{% block stylesheet %}{% static "admin/css/base.css" %}{% endblock %}"> <link rel="stylesheet" href="{% static "core/admin/app1/css/custom.css" %}"> {# Here #} <script src="{% static 'core/admin/app1/js/custom.js' %}" defer></script> {# Here #} {% block dark-mode-vars %} <link rel="stylesheet" href="{% static "admin/css/dark_mode.css" %}"> # ...
J'ai donc mis le fichier base.html
放入 templates/admin/
中,如下所示,然后上述解决方案有效,但自定义 css
和 js
qui s'appliquera à tous les admins dans toutes les applications :
django-project |-core | |-settings.py | └-static | └-core | └-admin | └-app1 | |-css | | └-custom.css | └-js | └-custom.js |-app1 | |-models.py | └-admin.py |-app2 └-templates └-admin └-base.html # Here
Alors, comment personnaliser css
和 js
文件仅有效地应用于 app1
中的所有管理员 Person
、Animal
和 Food
?
Je ne peux pas utiliser les commentaires.
1. Configurer le dossier statique
2. Vérifiez router.py
3. vérifiez settings.py
4. Exécuter la commande
https://docs.djangoproject. com/ja/4.2/howto/static-files/#configuring-static-files