我正在用Django开发一个网页,我遇到了在网页中有某些重复出现元素的问题。例如,包含菜单的基本布局 Package 了网页的其余部分,因此可以通过extend
外包。同样,如果我有一个重复出现元素,它完全被当前网页 Package ,而不改变它内部的html,可以通过使用include
实现。(例如特定按钮)。
然而,我有第三类,我不知道如何外包冗余信息:
假设我有一个卡片设计,它总是包含一个div,一个头部,一个图像和内容。我想重复使用这个设计来显示不同的内容,我在同一个页面上也有不同的卡片,我该怎么做?
这真的是要走的路吗:card_x.html
:
{% extend 'card_template.html' %}
{% block title %} Title x{% endblock title %}
{% content %}
Content x
{% endblock content %}
...
card_template.html
:
<div>
<h1>{% block title %} {% endblock title %}</h1>
<div>
{% content %}
{% endblock content %}
</div>
</div>
mainpage.html
:
{% include 'card_1.html' %}
{% include 'card_2.html' %}
{% include 'card_3.html' %}
我觉得我想把内容x放在主页里面,但是在这种方法中,我必须把它放在单独的文件中(这也导致了很多html文档,而不是每个页面一个,每个模板一个)。我在寻找这样的东西,我猜是由include_with
标签组成的:mainpage.html
:
{% inlude_with 'card_template.html' %}
{% block title %} Title 1{% endblock title %}
{% content %}
Content 1
{% endblock content %}
{% endinclude_with %}
{% inlude_with 'card_template.html' %}
{% block title %} Title 2{% endblock title %}
{% content %}
Content 2
{% endblock content %}
{% endinclude_with %}
{% inlude_with 'card_template.html' %}
{% block title %} Title 3{% endblock title %}
{% content %}
Content 3
{% endblock content %}
{% endinclude_with %}
有这样的事情吗?如果没有,你会如何处理这个问题?我的方法有缺陷吗?我感谢任何输入!
1条答案
按热度按时间nxowjjhe1#
我不确定我是否完全理解,但以下内容可能是您正在寻找的内容:
然后在您的模板中: