Jinja: Tidak dapat mengganti blok dalam template yang disertakan

Dibuat pada 8 Jan 2013  ·  3Komentar  ·  Sumber: pallets/jinja

Kami mencoba mengganti blok dalam template yang disertakan seperti ini:

#included.jinja2

{% block master %}
    Default master content
{% endblock %}
#base.jinja2
{% include "included.jinja2" %}
{% include "included.jinja2" with context %}

{% block master %}
Fnord
{% endblock master %}
#hello.jinja2
{% extends "base.jinja2" %}

{% block master %}

Overridden master content

{% endblock master %}

Saat menjalankan file hello.jinja2 kita melihat output ini

    Default master content
    Default master content
Overridden master content

Saya mengharapkan setidaknya konten master default kedua diganti dengan konten yang ditimpa.

Itu menurut saya bug.

Semua 3 komentar

Duplikat.

dari?

Sunting: Masalah mana yang merupakan duplikat dari ini?

ugh, untuk memperburuk keadaan, template Django juga tidak melakukannya (lihat catatan di akhir: https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#include)

saya pikir mungkin jinja2 akan, itu akan menyelamatkan saya dari banyak duplikasi >_<

lagi pula, saya kira saya hanya harus menemukan cara untuk menyederhanakan semuanya :(

Apakah halaman ini membantu?
0 / 5 - 0 peringkat