Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengatasi dan Memanjangkan Templat Pentadbiran Django dengan Sambungan Khusus Apl?

Bagaimana untuk Mengatasi dan Memanjangkan Templat Pentadbiran Django dengan Sambungan Khusus Apl?

DDD
DDDasal
2024-11-12 02:27:02184semak imbas

How to Override and Extend Django Admin Templates with App-Specific Extensions?

Mengatasi dan Memanjangkan Templat Pentadbir Django dengan Sambungan Khusus Apl

Mengatasi templat pentadbir Django semasa memanjangkannya boleh menjadi cabaran apabila menggunakan app_directories pemuat templat. Untuk menangani perkara ini, pertimbangkan untuk menggunakan pemuat templat tersuai yang menyokong pelanjutan templat daripada apl tertentu.

Penyelesaian: Pemuat Templat Tersuai

Pemuat templat tersuai seperti SmartTemplates membolehkan anda untuk menentukan templat untuk dilanjutkan dalam apl tertentu. Ini membolehkan anda membuat templat admin/index.html anda sendiri yang diwarisi daripada templat admin/index.html dalam apl pentadbir.

Contohnya:

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

{% block sidebar %}
    {{ block.super }}
    <div>
        <h1>Extra Links</h1>
        <a href="/admin/extra/">My Extra Link</a>
    </div>
{% endblock %}

Penggunaan :

  1. Pasang pakej SmartTemplates.
  2. Konfigurasikan Tetapan TEMPLATE_LOADERS untuk memasukkan 'smart_templates.loader.SmartLoader'.
  3. Letakkan templat admin/index.html tersuai anda dalam direktori templat projek anda.

Nota Tambahan:

  • Django versi 2.2 dan kemudian memberikan sokongan terbina dalam untuk warisan templat menggunakan templat daripada arahan, mengurangkan keperluan untuk pemuat templat tersuai.
  • Rujuk dokumentasi Django untuk versi khusus anda untuk mendapatkan butiran lanjut tentang penggantian dan sambungan templat.

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

Kenyataan:
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