Saya ada adat css
和 js
文件、admin.py
和覆盖的 base.html 位于 templates/admin/app1/
seperti ini:
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
Pertama, saya akan menyesuaikan 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
Walau bagaimanapun, penyelesaian di atas tidak cekap, jadi saya menetapkannya selepas <link ..."admin/css/base.css" %}{% endblock %}">
in base.html
seperti yang ditunjukkan di bawah, tetapi penyelesaian seperti berikut tidak berfungsi:
# "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" %}"> # ...
Jadi saya letakkan base.html
放入 templates/admin/
中,如下所示,然后上述解决方案有效,但自定义 css
和 js
fail yang akan digunakan untuk semua pentadbir dalam semua permohonan:
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
Jadi, bagaimana untuk menyesuaikan css
和 js
文件仅有效地应用于 app1
中的所有管理员 Person
、Animal
和 Food
?
Saya tidak boleh menggunakan komen.
1. Sediakan folder statik
2. Semak router.py
3. semak tetapan.py
4. Jalankan arahan
https://docs.djangoproject. com/ja/4.2/howto/static-files/#configuring-static-files