Bagaimana untuk Mengatasi dan Memanjangkan Templat Pentadbiran Django dengan Pemuat Templat AppDirectories?

DDD
Lepaskan: 2024-11-13 09:02:01
asal
151 orang telah melayarinya

How to Override and Extend Django Admin Templates with AppDirectories Template Loader?

Mengatasi dan Memanjangkan Templat Pentadbiran Django Serentak

Mengatasi templat pentadbir Django ialah keperluan biasa untuk menyesuaikan antara muka pentadbiran. Walau bagaimanapun, anda mungkin menghadapi dilema apabila anda ingin membatalkan dan melanjutkan templat, sambil turut memanfaatkan pemuat templat AppDirectories.

Mengatasi lwn. Melanjutkan

Dalam Django , mengatasi templat melibatkan penggantian sepenuhnya fail templat sedia ada, manakala pelanjutan membolehkan anda menambah kandungan pada blok tertentu dalam templat.

Cabaran dengan AppDirectories Template Loader

The Pemuat templat AppDirectories memberikan cabaran apabila mengatasi dan melanjutkan templat pentadbir. Apabila menggunakan pemuat ini, Django menjangkakan templat lanjutan berada dalam direktori yang sama dengan templat asal. Ini boleh menjadi masalah jika templat pentadbir terletak dalam aplikasi yang berbeza.

Penyelesaian Sedia Ada

Pemuat Templat Tersuai:

Penyelesaian yang disyorkan ialah menggunakan pemuat templat tersuai yang menyokong pelanjutan templat merentas direktori apl. Satu pemuat sedemikian tersedia di DjangoSnippets.org.

Menyesuaikan Pemuat Templat Django:

Pilihan lain ialah untuk menyesuaikan pemuat templat AppDirectories Django untuk membenarkan melanjutkan templat daripada apl tertentu. Ini melibatkan mencipta kelas pemuat templat tersuai yang mewarisi daripada pemuat AppDirectories dan mengubah suai tingkah lakunya.

Rancangan Masa Depan Django

Sehingga tulisan ini ditulis, Django tidak menyokong secara asli meluaskan templat merentas direktori aplikasi. Walau bagaimanapun, terdapat isu terbuka pada GitHub yang mencadangkan ciri ini. Jika dilaksanakan, ia akan memudahkan proses mengatasi dan melanjutkan templat pentadbir Django dengan ketara.

Contoh Penggunaan dengan Pemuat Tersuai:

Menggunakan pemuat templat tersuai yang dinyatakan di atas, anda boleh melaksanakan perkara berikut dalam templat anda:

{% extends "admin:admin/index.html" %}

{% block sidebar %}
    {{block.super}}
    <div>
        <h1>Extra links</h1>
        <a href="/admin/extra/">My extra link</a>
    </div>
{% endblock %}
Salin selepas log masuk

Kod ini memanjangkan templat indeks pentadbir dengan kandungan bar sisi tambahan, mengatasi dan melanjutkan templat asal dengan berkesan.

Atas ialah kandungan terperinci Bagaimana untuk Mengatasi dan Memanjangkan Templat Pentadbiran Django dengan Pemuat Templat AppDirectories?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan